1、数组的解构赋值
let [a,b,c]=[1,2,3];//等同于let a=1,b=2,c=3;
console.log(a, b, c);
let ary=["a","b","aa","bb"];
let [a,b,c]=ary;
console.log(a, b, c);//a b aa
2、嵌套赋值
let [x,y,[s],[[f]]]=[1,2,[3],[[4]]];
console.log(x, y, s, f);//1 2 3 4
3、省略赋值
let ary=[1,2,3,4,5,6];
//x的值是ary的第一项,y是ary的第五项
let [x,,,,y]=ary;
console.log(x, y);//1 5
4、不定参数赋值
let [a,...b]=[1,2,3,4,5];
console.log(a, b);//1 [2, 3, 4, 5]
5、默认值
判断一个位置是否有值,必须是按照三个等号来判断,如果数组中成员,不严格等于undefined,默认值不会生效
let [f2,f3=2]=[1];
console.log(f2, f3);//1 2
let [f=1]=[undefined];
console.log(f);//1
let [f4=1]=[2];
console.log(f4);//1
function fn() {
console.log("1212")
}
let [x=fn(),y=0]=[1];//只要变量所占在数组中的位置的值,不是undefined,fn()根本不会触发执行
console.log(x, y);//1 0