let声明变量:

1 变量不能重复声明
2块级作用域 全局,函数,eval
3不存在变量提升
4不影响作用域链

const 声明常量

1.一定要赋初始值
2常量的值不能修改
3.块级作用域
4.对于数组和对象的元素修改,不算做对常量的修改,不会报错

解构赋值

const zhao = {
name : ‘赵本山’,
age: '不详',
xiaopin: function(){
console.log("我可以演小品");
}
};
let {name,age,xiaopin} = zhao;

//对象解构赋值
const F4 = [‘w’,’s’,’f’,’l’];
let [w,s,f,l] = F4;
// 数组解析赋值

声明一个字符串新方法··

let str = 哈哈哈哈哈哈啊哈;

特性:
1.内容可以直接出现换行符
2.变量可以直接拼接
let lovest = ’1‘;
let out = ’${lovest}xx‘;
用${}拼接

简化对象写法

可以直接写name,change,属性名,创建方法的时候可以直接写方法名(){},不用写functionle。
例子:
improve:function(){
},
//简写
improve(){
},

箭头函数:

let fn = (a,b) => {
    return a+b;
}

箭头函数的特性
1.this是静态的。this 始终指向函数声明所在作用域下的this的值
2.不能作为构造函数实例化对象
3.不能使用arguments变量
4.箭头函数的简写
1)省略小括号,当形参有且只有一个的时候
let add = n => {
return n+n;
}

2) 省略花括号,当代码题只有一条语句的时候,此时return也得省略,而且语句的执行结果就是函数的返回值
let pow = n => n*n;

ES6 允许给函数参数赋初始值

1.形参初始值 具有默认值的参数,一般位置要靠后(潜规则)
2.与解构赋值结合
例子:
function connect({host}){
console.log(host);
}
connect({
host:’location’,
})

ES6 引入rest参数,用于获取函数的实参,用来代替arguments

// 必须要变量
function date(…args){
console.log(args);
// 打印出的是数组格式的,老版本是对象
}
date(‘阿娇’,’柏芝’,’思慧’);

注意事项:
rest 参数必须要放到参数最后面

ES6扩展运算符能将数组转化为逗号分隔的参数序列

const tfboys = ['tf','n','h'];
function chunwan(){
console.log(arguments);
}
chunwan(...tfboys);

例子:
// 数组合并
const kuaizi = [‘王太利’,’肖闫’];
const fenghuang = [‘asdad’,’asdadad’];
// 老版本
// const zxs = kuaizi.concat(fenghuang);
// 用扩展运算符
const zxs = […kuaizi,…fenghuang];

// 数组克隆
const sanzhihua = ['E','G','M'];
const sanyecao = [...sanzhihua];
console.log(sanyecao);

//伪数组转为为真正的数组
const divs = document.querySelectorAll('div');
const divArr = [...divs];
console.log(divs);
说点什么
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...