关键词: 对象, 解构
js
let obj = {
person: {
address: {
nation: 'China',
province: 'Guangdong'
}
}
};
let {person, person: {address: addr}, person: {address: {nation: country}}} = obj;
对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量, 而不是像数组解构那样按索引顺序.
①person在右边的obj里找到对应的匹配模式即obj的person, 所以person就为obj.person的值.
②person: {address: addr}在右边的obj里找到对应的匹配模式即obj的person的address,所以addr就为{nation: 'China',province: 'Guangdong'}
③与上面类似.