javascript - 解构嵌套对象 : How to get parent and its children values?

标签 javascript destructuring

下面的函数接收一个对象,该对象具有属性 current,它也是一个对象,并且它具有 selectionStartselectionEnd 属性。

在这里,嵌套解构按预期使用 StartEnd 变量工作,但我还需要 current 的值。

function someFunction({ current: { selectionStart: Start, selectionEnd: End } }) {

    // do something with current, Start, and End
}

我如何使用解构得到它?

最佳答案

第一个解构只创建StartEnd 变量。如果要将 current 创建为变量,则需要再次声明它。

function ({ current: { selectionStart: Start, selectionEnd: End }, current }, AppStateSetter) {

// do something with current , Start , and End

}

您可以 test it on the Babel compiler :

这段代码:

const object = {
  current: {
    selectionStart: "prop 1",
    selectionEnd: "prop2"
  }
}

const { current: { selectionStart: Start, selectionEnd: End } } = object;

被传输到:

var object = {
  current: {
    selectionStart: "prop 1",
    selectionEnd: "prop2"
  }
};

var _object$current = object.current,
    Start = _object$current.selectionStart,
    End = _object$current.selectionEnd;

如您所见,未创建 current 变量。

关于javascript - 解构嵌套对象 : How to get parent and its children values?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54591307/

相关文章:

Java对象解构

javascript - 解构 JavaScript 对象时如何只选择几个字段?

javascript - 向 vue-select 添加新标签

javascript - 错误 : ng:areq Bad Argument: Argument 'registerController' is not a function, 未定义

javascript - 您可以在 Vuejs 中的模板字符串中动态定义属性吗?

javascript - 在 JavaScript 中返回修改后的对象(类似于镜头)

javascript - 如何使用无效变量名的键名解构对象属性?

javascript - 颜色选择器插件实验(错误值更新)

javascript - 类型错误 : Cannot read property 'length' of undefined in QML array

JavaScript:当数组为空时解构对象数组时出错