js中Object.assign
时间: 2023-11-03 17:01:23 浏览: 164
在JavaScript中,Object.assign是一个用于合并对象的方法。它将源对象的所有可枚举属性复制到目标对象中,并返回目标对象。如果目标对象已经具有相同的属性,则该属性的值会被源对象的对应属性的值覆盖。
例如,如果我们有两个对象obj1和obj2:
```
var obj1 = { name: "zhangsan", age: 20 };
var obj2 = { name: "yunchong", id: 2 };
var obj = Object.assign({}, obj1, obj2);
console.log(obj);
```
在这个例子中,Object.assign方法将obj1和obj2合并到一个新的空对象{}中。由于obj2中的name属性覆盖了obj1中的name属性,所以最终输出的结果是{ name: "yunchong", age: 20, id: 2 }。
另外需要注意的是,Object.assign方法执行的是浅拷贝,即只复制一层对象的属性。如果源对象的属性是引用类型,那么目标对象中的属性将与源对象中的属性共享同一个引用。
相关问题
js中Object.assign()
在JavaScript中,Object.assign()方法用于将一个或多个源对象的可枚举属性的值复制到目标对象中,并返回目标对象。该方法的语法为Object.assign(target, ...sources),其中target是目标对象,而sources是一个或多个源对象。
当使用Object.assign()方法时,如果源对象和目标对象有相同的属性名,后面的源对象的属性值将会覆盖前面的属性值。例如,如果有两个源对象obj1和obj2,其中obj1的name属性为"zhangsan",obj2的name属性为"yunchong",那么使用Object.assign()方法后的目标对象的name属性值将为"yunchong"。
就像在引用的代码示例中所展示的一样,Object.assign()方法可以用来创建一个目标对象的浅拷贝。使用Object.assign({}, obj)可以将obj对象的属性复制到一个新的空对象中,并返回该新对象。
总而言之,JavaScript中的Object.assign()方法是用来复制源对象的可枚举属性到目标对象中的方法。它可以用于创建目标对象的浅拷贝,并且在合并属性时后面的源对象会覆盖前面的属性值。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [js中 关于 Object.assign的讲解 (觉得会用就行了嘛?你不知道的东西在这里,一位重视 js 基础的前端小菜鸟...](https://blog.csdn.net/yunchong_zhao/article/details/108824105)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [js的Object.assign用法示例分析](https://download.csdn.net/download/weixin_38711643/13133673)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
JavaScript Object.assign
JavaScript中的Object.assign()方法用于将一个或多个源对象的属性复制到目标对象中。该方法会返回目标对象。如果多个源对象具有相同的属性,则后面的属性将覆盖之前的属性。
Object.assign()方法的语法如下:
```
Object.assign(target, ...sources)
```
其中,target是目标对象,sources是一个或多个源对象。
举个例子,假设我们有一个目标对象和一个源对象:
```
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
```
现在我们想将source对象的属性复制到target对象中:
```
Object.assign(target, source);
console.log(target); // { a: 1, b: 4, c: 5 }
```
可以看到,source对象的属性b和c都被复制到了target对象中,并且覆盖了原有的属性b。
阅读全文