JavaScript 中的 Object.assign()?
Object.assign()
该方法用于将一个或多个源对象复制到目标对象。由于它对源对象和目标对象分别使用“读取”和“设置”,因此会调用getter 和 setter。该方法返回包含从目标对象中复制的属性和值的 target 对象。该方法不针对 null 值或 undefined 值引发异常。
语法
Object.assign(target, ...source objects);
需要 source object 和 target object 作为参数,并将 source objects 推送到 target object 中,并显示 target object。
示例 1
在以下示例中,将来自源对象“obj1”、“obj2”和“obj3”的属性推送到目标对象“obj”,并将target object 作为输出返回。
<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}
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP