Object.assign(target, ...sources) 合并或克隆对象

Object.assign(target, ...sources)

将来自一个或多个源对象中的值复制到一个目标对象。

参数

target

必需。可枚举属性复制到的对象。

...sources

必需。从其中复制可枚举属性的对象。

用法

可使用此函数合并或克隆对象。

一、合并对象

<script type="text/javascript">
var ling={
	  name:"zzling",
	  age:"26",
	  job:"engineer" }

var biao={
	  name:"wcbiao",
	  age:"26",
	  color:"white" }

var ppdog={
	  age:"0" }

var together=Object.assign(ling,biao,ppdog)
console.log(together);

</script>

together=Object.assign(ling,biao,ppdog)

把 ling 、biao 、ppdog 这三个对象合并了,放在了together 这个值里

注意:第一个对象ling 被改变了。而且ling 和新增的对象together 同步改变。合并对象后,给ling 添加 food 属性,together 也获得了该属性(说明合并后的对象,被存放在第一个对象ling,并改变第一个对象ling)

<script>

var together=Object.assign(ling,biao,ppdog)

console.log(ling);
console.log(together);

ling.food="chocolate";
console.log(ling===together);
</script>

二、克隆对象

<script type="text/javascript">

var clone=Object.assign({},ling)
console.log(clone);

</script>

clone=Object.assign({ },ling) 

也可以把两个(多个)对象合并之后克隆到新的对象里。

var clone=Object.assign({ },ling,biao)  

注意:这种方法不会改变 ling,biao 这些原有的对象,而是创建了新的对象 clone

<script type="text/javascript">

var clone=Object.assign({},ling,biao);
console.log(clone);

</script>

猜你喜欢

转载自blog.csdn.net/weixin_41796631/article/details/82900196
今日推荐