一.数组解析

  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};
posted on 2021-11-24 17:32  卡坦菲  阅读(340)  评论(0编辑  收藏  举报