【发布时间】:2016-02-17 23:40:58
【问题描述】:
我想使用ES6 destructuring 来分配对象的属性,但不知道语法。
var dst = {}; // already in existence, with its own props, methods, etc.
var src = { a: 'foo', b: 'bar', c: 'baz' };
dst.a = src.a;
dst.b = src.b;
>= ES6(我自己编造的,不起作用的语法):
let dst = {};
let src = { a: 'foo', b: 'bar', c: 'baz' };
dst[{a, b}] = src;
是否可以对对象使用解构赋值?正确的语法是什么?
编辑:在我的用例中,dst 是一个在需要合并src 的属性子集之前就已经存在的对象;它不是一个专门为“借用”src 而创建的新对象。
【问题讨论】:
-
这在我看来不像是解构,你可能只是克隆了该项目。
-
这不是stackoverflow.com/questions/25553910/…的重复;该问题不是要为一个对象分配另一个对象的属性子集,而是要从另一个对象的属性子集创建新对象。我将编辑我的问题以澄清这一点。
-
@MinusFour 我不能只克隆或
Object.assign(),因为我不想要src的所有属性。在我的示例中,请注意我将留下c: 'baz'。
标签: javascript variable-assignment ecmascript-6