可以同时定义多个变量,值来源于已有的数组
//1. 定义的变量===数组的项数
let [a,[b]]=[1,[2]]; console.log(a,b);//相当于a=1,b=2
- 省略赋值
let [a,,,b]=[1,2,3,4,5]; console.log(a,b);//a拿到右侧数组的第一项1,b拿到右侧数组的第四项4。中间不需要赋值和最后一项不需要赋值可以省略不写 //也可以这样获取a和b的值,var a=ary[0]
- 左侧某个变量可以获取右边数组多个值(不固定)
let [,a,,...b]=[1,2,3,4,5]; console.log(a,b);//第一个空位对应右侧1,a对应2,第三个空位对应3,...b取值为剩下的4,5 //a=2,b=[4,5]
- 左侧可以给默认值,当右侧是undefined或没有左侧对应的值时,左侧就会用默认值
//判断一个位置是否有值用===,右侧数组中当前像是undefined或没值时默认值生效,否则默认值不生效用右侧数组的值 let [a=0,b=1,c=2]=[1,undefined]; console.log(a,b,c);//a=1,b=1用默认值,c=2用默认值
原文:https://www.cnblogs.com/zlsqd/p/11332871.html