ES6 的 新特性 2 解构赋值

发布时间 2023-07-06 17:12:55作者: luytest

分为数组解构和对象解构

数组解构

    $(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);