let,const
区分作用域、子作用域内有有效。var要么在函数内,要么是全局
解构赋值(数组、字符串、对象、函数参数)
支持嵌套、默认值、不存在数据(赋值undefined)
数组
let arr = [1, 2, 3];
let [a, b, c] = arr; // a=1, b=2, c=3
let [a, b, c, d = "hello"] = arr; //d='hello'
let [a, b, c, d] = arr; //d='undefined'
对象
let obj = {
uid: 'xx',
uname: 'wyj',
arr: [1, 2]
}
let {uid, uname, arr: [a, b]} = obj;
函数
function test({uid, uname}) {
console(uid);// xx
console(uname);// wyj
}
Symbol,唯一赋值
let a = Symbol(2);
let b = Symbol(3);
!!a==b; // false, 类似将2、3变成一个包装类的实例对象,在内存中有不同的地址分配。
网友评论