分为数组解构和对象解构
数组解构
$(function () { let arr = [1, 2, 3]; let [a, b, c, d] = arr; alert(a); alert(b); alert(c); alert(d); });
a,b,c 三个变量被成功赋值,值就是 数组 arr 的顺序的值,d 解构失败,因为arr 只有3个值。
要注意:
1. var和let都可以声明;
2. let [a,b,c,d] 并不是声明一个数组,而是批量声明变量,只是看起来像数组的样子;
3. 解构成功的变量会被赋值,失败的是undefind,
4.其实就是按数组的下标顺序给批量变量的声明顺序一一对应赋值。
对象解构
$(function () { let person = {name:'张三',age:20} let {name,age,gender} = person; alert(name); alert(age); alert(gender); });
跟数组解构很像,gender解构失败,name和age成功赋值。
要注意,对象解构不是按顺序赋值,而是根据变量名和对象字段名对应;
另外还有一种别名写法,效果是一样的。
let {name:myName,age:myAge,gender:myGender} = person;
alert(myName);
alert(myAge);
alert(myGender);