我对Object.assign函数的一些简单功能感到有些困惑。请采取以下措施:
const a = {'a':'1'};
const b = {'b':'2'};
const final = Object.assign(a, b) // {a:1, b:2}
该与以下内容有何区别:
const a = {'a':'1'};
const b = {'b':'2'};
const final = Object.assign( {}, a, b) // {a:1, b:2}
起始{}对象的目的是什么,何时适合使用它,或者完全不使用它?
答案 0 :(得分:1)
Object.assign
会改变它的第一个参数。例如,在您的第一个示例中:
const a = {'a':'1'};
const b = {'b':'2'};
const final = Object.assign(a, b) // {a:1, b:2}
console.log(a); // {a:1, b:2}
将对象b的属性复制到对象a。
但是在你的第二个例子中:
const a = {'a':'1'};
const b = {'b':'2'};
const final = Object.assign({}, a, b) // {a:1, b:2}
console.log(a); // {a:1}
{}
将创建一个新对象,a和b的属性将被复制到该对象。 Object.assign
将返回其第一个参数。