gpt4 book ai didi

ecmascript-6 - ES2015在同一范围内两次分解对象

转载 作者:行者123 更新时间:2023-12-04 10:24:15 25 4
gpt4 key购买 nike

有没有一种干净的方法可以从同一范围内的2个相似对象中分解相同的变量?

function(oldState, newState) {
let {foo, bar} = oldState;
// do stuff //
let {foo, bar} = newState; // illegal double declaration in same scope
{foo, bar} = newState; // illegal, not sure why
let {foo: foo1, bar: bar1} = newState; // legal but ugly
foo = newState.foo; // legal, but requires multiple lines
}

最佳答案

您可以将分配包装在parens中,以通过解构来重新分配变量。之所以需要这样做,是因为否则解析器将{假定为开始一个块,而不是对象文字或分配模式。 This blog post详细解释了这种情况。

function(oldState, newState) {
let {foo, bar} = oldState;
// do stuff //
({foo, bar} = newState);
}

关于ecmascript-6 - ES2015在同一范围内两次分解对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34252827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com