【01】数组的解构赋值
魔芋总结:
用法1:
var [a,b,c]=[1,2,3];
用法2:(可以嵌套数组)
let [foo, [[bar], baz]] = [1, [[2], 3]];
foo // 1
bar // 2
baz // 3
用法3:(可以变量名为空,变量值数量多于变量数量)
let [ , , third] = ["foo", "bar", "baz"];
third // "baz"
用法4:(变量前加3个点,表示为一个数组,注意变量值的写法)
let [head, ...tail] = [1, 2, 3, 4];
head // 1
tail // [2, 3, 4]
用法5:(当变量值的数目小于变量的数目时,变量为 undefined)
let [x, y, ...z] = [‘a‘];
x // "a"
y // undefined
z // []
知识6:解构不成功时,变量为undefined
知识7:部分解构时,解构依然可以成功。
知识8:如果等号的右边不是数组(或者严格地说,不是可遍历的结构),那么将会报错。
知识9:解构赋值不仅适用于var命令,也适用于let和const命令。
知识10:解构赋值允许指定默认值。只有变量全等于(===)undefined,才可以使用默认值。