TypeScript解构时如何同时获取对象属性和其内部嵌套字段
解决方法
你可以在解构语句中同时提取顶层的person属性,再对其做嵌套解构,修改后的写法如下:
const { person, person: { name, age }, house: { height } } = myObject;
原理解释
- 上面的解构语句会同时生成4个可用变量:
person、name、age、height - 相当于先从
myObject中取出完整的person对象赋值给同名变量,再深入该对象内部解构出name和age两个子变量,二者不会产生冲突
验证示例
你可以用以下测试代码确认效果:
const myObject = { person: { name: '张三', age: 25 }, house: { height: 3 } } const { person, person: { name, age }, house: { height } } = myObject; console.log(name); // 正常输出:张三 console.log(person); // 正常输出:{ name: '张三', age: 25 } console.log(age); // 正常输出:25 console.log(height); // 正常输出:3
内容的提问来源于stack exchange,提问作者EuberDeveloper
相关产品推荐
相关产品推荐

