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>