【问题标题】:ES2015 (ES6) sub destructuringES2015(ES6)子解构
【发布时间】:2016-11-22 11:03:39
【问题描述】:

我对 Javascript 中的解构有疑问,例如我有这个对象结构:

let obj = { 
    subObj: {
        id: 123,
        otherProp: 'value'      
    }
};

这种解构模式是否可能:

let { subObj: { id } } = obj

let someId = id;
let otherObj = subObj //this is not working

我想在一次操作中获取子对象和子对象中的属性。我看过这个资源2ality,但找不到答案。

【问题讨论】:

    标签: javascript ecmascript-6 destructuring


    【解决方案1】:

    我想在一次操作中获取子对象和子对象中的一个属性

    你可以这样做:

    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);

    【讨论】:

      猜你喜欢
      • 2021-10-15
      • 2015-12-18
      • 1970-01-01
      • 2018-02-03
      • 2016-05-03
      • 2018-12-02
      相关资源
      最近更新 更多