用object.assign
时间: 2024-06-17 17:05:51 浏览: 246
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,并返回目标对象。其语法如下:
```js
Object.assign(target, ...sources)
```
其中,`target` 是目标对象,`sources` 是一个或多个源对象。
当多个对象有相同的属性时,后面的源对象的属性会覆盖前面的源对象的属性。
使用 Object.assign() 方法可以方便地将多个对象合并为一个对象,并且可以对目标对象进行修改。例如,可以将一个默认配置对象和用户自定义配置对象合并成一个新的配置对象,如下所示:
```js
const defaultConfig = {
timeout: 5000,
maxRetries: 3,
logLevel: 'info'
};
const userConfig = {
timeout: 10000,
logLevel: 'debug'
};
const config = Object.assign({}, defaultConfig, userConfig);
console.log(config);
// Output: { timeout: 10000, maxRetries: 3, logLevel: 'debug' }
```
以上代码中,我们使用 `Object.assign()` 方法将 `defaultConfig` 和 `userConfig` 合并成一个新的对象 `config`。由于 `userConfig` 对象中的 `timeout` 和 `logLevel` 属性覆盖了 `defaultConfig` 对象中的同名属性,因此最终的 `config` 对象中的这两个属性值分别为 `10000` 和 `'debug'`。
阅读全文