前景: 如果再循环体中使用var定义的变量,也可以在外部访问到
所以使用let,外部无法访问
使用cont,定义了常量,无法修改,类似java的final
结构体:
一. 解析数组
let arr=[2,5,-1,55];
//左右对比,将右边对应的数组值赋予左边的x,y
let [x,y]=arr;
let [,a,b]=arr;
console.log(x,y,a,b);
//第一个不要,将剩下的赋值给rest
let [,…rest] =arr;
二. 解析对象:
let p={name:“jack”,age:21}
//将p.name赋值给name,将p.age赋值给age
let {name,age}=p
/将p.name赋值给n,将p.age赋值给a
let {name:n,age:a}=p
//获取复杂对象指定值
p= {name:“jack”,age:12,girl:{name:“rose”,age:10}}
let {girl:{name:b}}=p
//对象的深层拷贝
let {…obj}=p;
//输出结果为false,并没有将地址赋予obj
obj==p;
ES6 对象中,当key名称和value名称一致时,value可以省略