gpt4 book ai didi

javascript - 您可以使用剩余参数作为解构赋值吗?

转载 作者:行者123 更新时间:2023-11-30 08:34:48 25 4
gpt4 key购买 nike

例如,这里有一个复制对象的方法:

const o = {
hello: 'hello',
world: 'world'
}

const { hello, world } = o;
const o2 = { hello, world };

我想使用 rest 参数来简化它,但它似乎不太可能(除非我只是搞乱了语法):

const o2 = { ...Object.keys(o) }

这是根本不可能的,还是我的语法有误?如果不可能,除了 Object.assign 之外,还有其他方法可以在 ES6 中复制对象吗?

var o2 = {};
Object.assign(o2, o);

我不喜欢 Object.assign 方法的唯一原因是因为它感觉“多变”并且比像 { ...Object.keys(o )。想法?

最佳答案

有一个ES7 proposal for an object spread element ,它的工作原理与数组展开运算符非常相似:

var o1 = {foo: 42}:
var o2 = {...o1};
// o2 is now a shallow copy of o1

正如您在提案中所见,这实际上只是 Object.assign 的语法糖,相当于

var o2 = Object.assign({}, o1);

同样的提案还定义了一个对象 rest 元素,所以这也可以工作:

var {...o2} = o1;

关于javascript - 您可以使用剩余参数作为解构赋值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32620246/

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