数组结构赋值
ES6语法中对数组的赋值方式
键值互相对应,若空则空,若有则有
实例一:
let arr = [1,2,3];
let [a,b,c]=arr;
console.log(a,b,c)
let arr = [1,2,3];
let [,b,]=arr;
console.log(b)
实例二:
kok = [,2,31];
[a,b,c]=kok;
console.log(a,b,c)
因为在kok这个数组中,第一个元素时空,所以类型不确定
赋值给[a,b,c]这个数组时,a的值为undefined,这就是键值互相对应,若空则空,若有则有
互换两个变量
用js原生方式下:
let x=1;
let y=2;
let temp;
temp=x;
x=y;
y=temp;
console.log(x,y);
用ES6方式下:
let x=1;
let y=2;
[x,y]=[y,x]
console.log(x,y);
可见,ES6下的数据转换方便快捷得多
但是要注意几点:
使用应注意:
1,必须要进行初始化
2,可以在解构中忽略一些项
默认值
严格等于undefine时
案例1>>>
let[x,y]=[undefine,undefine];
console.log(x,y)
案例2>>>
let[x=10,y=20]=[];
console.log(x,y)
不严格等于undefine时,采用默认值
案例1>>>
let[x=10,y=20]=[1,2];
console.log(x,y)
案例2>>>
let[x,y]=[];
console.log(x,y)