JavaScript 中的 Object.assign()?

front end technologyjavascriptobject oriented programming

Object.assign()

此方法用于将一个或多个源对象复制到目标对象它调用 getter 和 setter,因为它在源上使用"get"并在目标上使用"Set"。它返回具有从目标对象复制的属性和值的目标对象。此方法不会抛出 null 或未定义的源值。

语法

Object.assign(target, ...source object);

它以源对象和目标对象为参数,并将源对象推送到目标对象中并显示目标对象。

示例 1

在下面的示例中,源对象  "obj1"、"obj2"和"obj3"的属性被推送到目标对象"obj"中,并将目标对象作为输出返回。

<html>
<body>
<script>
   var obj1 = { a: 10, b:20 };
   var obj2 = { c: 30, d:40 };
   var obj3 = { e: 50 };
   var obj = Object.assign({}, obj1, obj2, obj3);
   document.write(JSON.stringify(obj));
</script>
</body>
</html>

输出

{"a":10,"b":20,"c":30,"d":40,"e":50}

示例 2

在下面的例子中,对象的某些属性多个实例。在这种情况下,方法Object.assign() 采用属性的最后赋值。例如,在所有 3 个对象"obj1"、"obj2"和"obj3"中,属性"c"是共同的,并分别被赋予了 1、3 和 0 等值。obj3 中属性"c"的值将覆盖其他先前赋予的值13。因此,如果我们查看输出,属性"c"被赋予值0

<html>
<body>
<script>
   var obj1 = { a: 10, b:20, c:1 };
   var obj2 = { b: 30, d:10, c:3 };
   var obj3 = { e: 60, d:70, c:0 };
   var obj = Object.assign({}, obj1, obj2, obj3);
   document.write(JSON.stringify(obj));
</script>
</body>
</html>

输出

{"a":10,"b":30,"c":0,"d":70,"e":60}

相关文章