ES6数组和对象的解构


一.数组解析

  1.let info=['dayfly',100,'男']; //数组赋值     

      let [name,age,gender]=info;   //数组解构赋值 

      let info=['dayfly',100,'男'];

                [name,age,gender]=info; //数组解构赋值                     console.log(name);                 console.log(other);   2.单行解析           let [name,age,gender]=['dayfly',100,'男'];         let [name,[age,gender]]=['dayfly',[100,'男']]; //需要对应上(数组层次也需要匹配)   3.let [,,gender]=['dayfly',100,'男'];//用逗号作为占位符,不赋值   4.设置了一个默认值       let [name,age,gender='男']=['dayfly',100,];   5....var的语法,可以将没有赋值的内容都赋值给这个变量       let [name,...other]=['dayfly',100,'男'];               console.log(name);             console.log(other); 二.对象解构(定义一个对象字面量,然后解构赋值)   1.let obj={             name:'dayfly',                age:1000         },name='dayfly2';             ({name,age}=obj); //解构 用于这种情况             et {name,age}=obj;// 解构   2.设置默认值          let{name,age,gender='男'}=obj;   3.如果不想对象属性名作为解构变量,可以通过键值对的方式更改       let{name:myname,age:myage}=obj;//name age 无效   4.对象字面量里,嵌套了对象,解构时也用同样的方法解开        let obj={                 name:'dayfly',                 age:1000,                 info:{                      id:1,                      gender:'男'                 }             };        let {name,age,info:{id,gender}}=obj;          console.log(name);          console.log(age);          console.log(id);          console.log(gender);           单行简写模式      let{name,age}={name:'dayfly',age:100};
ES6