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};