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"的值将覆盖其他先前赋予的值1和3。因此,如果我们查看输出,属性"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}