具有
var obj = { a: 1, b: 2};
什么是它们之间的不同之处?
obj = Object.assign(obj, { c: 3});
和
obj = {...obj, c: 3 };
具有
var obj = { a: 1, b: 2};
什么是它们之间的不同之处?
obj = Object.assign(obj, { c: 3});
和
obj = {...obj, c: 3 };
使用展开运算符时,不同之处在于您总是会创建一个新对象:
const a = { name: 'Joe Bloggs' }
const b = { ...a, age: 27 };
console.log(a === b) //=> false
然而,使用Object.assign
可以改变现有对象:
const a = { name: 'Joe Bloggs' }
const b = Object.assign(a, { age: 27 });
console.log(a === b) //=> true
通过将空对象字面量作为第一个参数传递,您仍然可以使用Object.assign
实现对象展开的行为:
const a = { name: 'Joe Bloggs' }
const b = Object.assign({}, a, { age: 27 });
console.log(a === b) //=> false
Object.assign
更安全且更简洁。 - user6445533Object.assign
更可取和更安全。 - Siluveru Kiran Kumar
Object.assign
是。 - user6445533