解构赋值
ES6 允许按照一定模式,从数组或对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。
在es6中,允许赋值过程中,等号左边是一个模式(数组或对象)json,只要右边的模式与之对应,就可以一次性做多次赋值。
数组的解构赋值
// let a = 1;
// let b = 2;
// let c = 3;
let [a, b, c] = [1, 2, 3];
console.log(a, b, c);
数组的解构赋值,原则就是按索引值的顺序,依次赋值
如果左边多余等号右边
let [a, b, c] = [1, 2];
let a = 1;
let b = 2;
let c;
console.log(a, b, c);//1,2,undefined
没有对应值的变量不会被赋值,默认值及时未定义。
let [a, b, ...c] = [1, 2];
console.log(a, b, c);//1,2,[]
解构赋值左边可以采用扩展运算符,附加扩展运算符的变量必须时最后一个。
如果变量前加上了扩展运算符,那么得到的值一定是数组,即使没有对应关系,也会得到空数组。
等号右边多于等于左边: