神么是解构
使用es6的语法规则,将一个对象或数组的某个属性提取到变量中
未使用结构的代码
const obj = {name: '张三',age: "15",sex: '男',}const name = obj.name;const age = obj.age;const sex = obj.sex;console.log(name,age,sex)
解构的语法
解构不会对被解构的目标造成任何影响
在解构中使用默认值
同名变量结构(同名变量是指变量与其被结构的属性名一样)
{同名变量 = 默认值}
非同命属性结构
{属性名:变量名}
同名变量结构示例
const obj = {name: '张三',age: "15",sex: '男',}const {name,age,sex} = obj;console.log(name,age,sex)
控制台打印结果
非同命属性结构
const obj = {name: '张三',age: "15",sex: '男',}const {name:na,age:a,sex:s} = obj;console.log(na,a,s)
控制台打印结果
当在对象中结构对象
const obj = {name: '张三',age: "15",sex: '男',// 深层解构login:{id : 1,pasw:"awefasf",}}// age = 1 给age赋予默认值const {name,age = 1,login:{id,pasw,}} = obj;console.log(name,age,id,pasw)
当在对象中结构数组
const obj = {name: '张三',age: "15",sex: '男',arr: [1000, 2, 3, {id: 1,login: 123465,pasw: 123}]}const {name,age,sex,//深层解构数组中的对象arr: [n1, , , {id}]} = objconsole.log(name, age, sex, n1, id)
控制打印效果
剩余参数
const obj = {name: '张三',age: "15",sex: '男',}const {name:na,...a} = obj;console.log(na,a)
控制台打印效果
