我对Javascript中的解构有疑问,例如我有这个对象结构:
let obj = {
subObj: {
id: 123,
otherProp: 'value'
}
};
这种解构模式是否可行:
let { subObj: { id } } = obj
let someId = id;
let otherObj = subObj //this is not working
我想在一个操作中抓取子对象和子对象中的属性。我已经查看了这个资源2ality,但无法找到答案。
答案 0 :(得分:2)
我想在一次操作中抓取子对象和子对象中的属性
你可以这样做:
let {subObj : {id}, subObj} = obj;
// ^^^^^^^^^^^^^ ^^^^^^
// \ \----- grabs subObj
// \---------------- grabs id
另一个订单也很好:
let {subObj, subObj : {id}} = obj;
// ^^^^^^ ^^^^^^^^^^^^^
// \ \--------- grabs id
// \------------------- grabs subObj
示例:
let obj = {
subObj: {
id: 123,
otherProp: 'value'
}
};
// Grabs subObj ----vvvvvv
let {subObj : {id}, subObj} = obj;
// ^^^^^^^^^^^^^---grabs id
console.log(subObj);
console.log(id);