es6 object.assign()的用法 复制对象---克隆对象
将来自一个或多个源对象中的值复制到一个目标对象。
语法:
Object.assign(target, ...sources );
target 必需。可枚举属性复制到的对象。
...sources 必需。从其中复制可枚举属性的对象。
如果存在分配错误,此函数将引发 TypeError,这将终止复制操作。如果目标属性不可写,则将引发 TypeError。
此函数返回目标对象。仅可枚举自有属性从源对象复制到目标对象。可使用此函数合并或克隆对象。
- null 或 undefined 源被视为空对象一样对待,不会对目标对象产生任何影响。
- 复制对象
var first = { name: "Bob" }; var last = { lastName: "Smith" }; var person = Object.assign(first, last); console.log(person); // Output: // { name: "Bob", lastName: "Smith" }
克隆对象
var obj = { person: "Bob Smith"}; var clone = Object.assign({}, obj);