{... object,property:value}如何使用扩展语法?

too*_*hed 7 javascript ecmascript-6

在查看ES6文档时,我注意到建议在更详细的Object.assign()方法上使用扩展语法.但是,我对如何实现这一点感到困惑.

object在这种情况下,被分解为key: value对,之后在逗号右侧的财产,则添加或覆盖,并最终被重组?

KAD*_*KAD 4

在这种情况下,对象是否被分解为键:值对,然后添加或覆盖逗号右侧的属性,最后重新组装?

原始对象的键值object对实际上与具有额外属性的新对象组合(合并)var2(它们被组合为newObject)。

您可以将其视为object正在成为的子集newObject正在使用扩展语法的地方的

检查下面的示例:

const object = { txt: 'Test' };
const newObject = {...object, var2: 'aa' };

// logs Object {txt: "Test", var2: "aa"}
console.log(newObject);

const object2 = { txt: 'Test' };
const newObject2 = {...object, txt: 'Test2', var2: 'aa' };

// Object {txt: "Test2", var2: "aa"}
console.log(newObject2);

// merging all objects to a new object
var object3 = {first: 'Hello', second: 'World'};
var newObject3 = {...object, anotherVar: 'stack', ...object2, ...object3};

// Object {txt: "Test", anotherVar: "stack", first: "Hello", second: "World"}
console.log(newObject3);
Run Code Online (Sandbox Code Playgroud)