Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript {}在ES6 Object.assign函数中做什么_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript {}在ES6 Object.assign函数中做什么

Javascript {}在ES6 Object.assign函数中做什么,javascript,ecmascript-6,Javascript,Ecmascript 6,我对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} 这与以下内容有什么区别: const a = {'a

我对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}
这与以下内容有什么区别:

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}
启动{}对象的目的是什么?什么时候使用它或完全忽略它是合适的?

将改变它的第一个参数。例如,在您的第一个示例中:

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的属性将复制到该对象<代码>对象。赋值将返回其第一个参数。

uhm。那是打字错误吗
Object.assign{a,b}
否则,您的问题是。
Object.assign({},a,b)
没有副作用,也就是说,它不会变异a,而是创建一个新对象,而之前的方法变异a。@zero298抱歉修复了。在这两种情况下,都要执行
console.log(final==a)