ES6解构和传播运算符无法正常工作

时间:2018-08-29 14:01:46

标签: javascript reactjs

在分解仅以数字为键的对象并使用散布运算符收集所有其他对象时,我有一个奇怪的行为。这个问题发生在我的ReactJS应用中,babel设置为es2017,插件为“ transform-object-rest-spread”。我正在使用normalizr展平对象,这就是为什么要使用数字键获取对象的原因。

    const tmpContainer = {
        24: { v: 1 }, 36: { v: 5 }, 42: { v: 3 }
    }
    const action = { id: 24 }
    const { [action.id]:elem, ...rest } = tmpContainer
    console.log(elem)
    console.log(rest)

elem的输出:24 : {v:1}

休息的输出是: 24 : {v:1} 36 : {v:5} 42 : {v:3}

具有键24的元素可以正确获取,但不会从跨页中删除。在https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Operators/Spread_syntax尝试相同的代码可以正常工作。

将动作更改为

const action = { id: "24" }

传播的结果是正确的。

我真的很困惑为什么会发生这种情况或是什么导致了问题?

0 个答案:

没有答案