数组类的解构赋值
1 | { |
上边的[a,b]=[1,2];
等价于 let a = 1,b = 2 ;
1 | { |
上边的[a,b,...rest] = [1,2,3,4,5,6];
等价于
1 | { |
如果上边的c=3
改为c
,那么直接就是输出的c为undefined,所以 c=3
防止没有配对成功时的undefined
1 | { |
通过解构赋值 可以实现变量交换,不用es5里边需要中间值存储
1 | { |
这是一个重要的场景
如果我们没有解构赋值,我们想取到第一个或者第二个元素,那么我们得用一个变量来接收这个函数运行的结果,然后通过索引返回0,1两个位置返回的值,这样写比较麻烦,用ES6 写就很方便
1 | { |
,
是把中间的值忽略获取 ;
对象类解构赋值
新建一个块作用域1
2
3
4
5{
let a,b;
({a,b}={a:1;b:2;})
console.log(a,b);//1,2
}
1 | { |
对象的解构赋值的左右必须为对象1
2
3
4{
let {a=10,b=5}={a:3};
console.log(a,b);//3,5
}
1 | { |