、Object.assign()对象的拷贝Object.assign() 方法用于将所有可枚举
时间: 2023-08-17 16:11:39 浏览: 110
属性的值从一个或多个源对象复制到目标对象。它返回目标对象。
语法:
Object.assign(target, ...sources)
参数:
- target:目标对象,将源对象的属性复制到该对象。
- sources:一个或多个源对象,从这些对象中复制属性。
示例:
```
const obj1 = { a: 1 };
const obj2 = { b: 2 };
const obj3 = { c: 3 };
const newObj = Object.assign({}, obj1, obj2, obj3);
console.log(newObj); // { a: 1, b: 2, c: 3 }
```
在上面的示例中,通过Object.assign()方法将obj1、obj2和obj3的属性复制到一个新的空对象中。这样就实现了对象的拷贝。
相关问题
Object.assign浅拷贝
Object.assign()是一个用于将一个或多个源对象的可枚举属性复制到目标对象的方法。它返回目标对象。下面是一个使用Object.assign()进行浅拷贝的例子:
```javascript
const source = { name: 'John', age: 30 };
const target = { gender: 'male' };
const result = Object.assign(target, source);
console.log(result); // { gender: 'male', name: 'John', age: 30 }
```
在上面的例子中,我们将源对象source的属性复制到目标对象target中,并将结果存储在result变量中。由于Object.assign()方法返回目标对象,因此result变量中存储的是目标对象target。
需要注意的是,Object.assign()方法只会复制源对象的可枚举属性,而且只会进行浅拷贝。这意味着如果源对象的属性值是一个对象,那么目标对象中的该属性值将与源对象中的该属性值指向同一个对象。如果源对象的属性值是一个引用类型,那么目标对象中的该属性值将会被修改。
Object.assign深拷贝?
Object.assign() 方法是用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它只会拷贝源对象自身的并且可枚举的属性到目标对象上,不会拷贝继承的属性和不可枚举的属性。如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖。需要注意的是,Object.assign() 方法执行的是浅拷贝,即如果源对象的属性值是一个对象或其他引用类型,那么目标对象中对应的属性值也会是这个对象或引用类型的引用,而不是这个对象或引用类型的拷贝。
阅读全文