对象解构 -ES6
1、等号右边可以为任何可以转换为对象的数据结构
1)undefined与null不能
let {pop:x} = undefined // TypeError
let {pop:x} = null // TypeError
2)对于String,
3)对于
2、根据对象属性名,先找到同名属性,再赋值给对应的变量,不存在undefined
let {name:a} = {name:'sdsd'} // a = 'sdsd'
let {name:name} = {name:'sdsd'}
// 简写:
let {name} = {name:'sdsd'} // name = 'sdsd'
let g ;
({g} = {g:1}) //不能去掉括号,会将{}理解成一个代码块
console.log(g) //g =1
({} = [1,2]) //语法正确,无意义
({} = 'acv') //语法正确,无意义
3、对象解构可以有默认值
let {x=3} = {}
let {x,y=5} = {x:1},
let {x:y=1} = {} ,//y=1
let {x:y=1} = {x:4} //y=4
浙公网安备 33010602011771号