摘要:在本教程中,您将学习如何在 ES6 中使用 JavaScript Object.assign() 方法。
以下是 Object.assign() 方法的语法
Object.assign(target, ...sources)Code language: CSS (css)Object.assign() 将 源 对象的所有可枚举且自身拥有的 属性 复制到 目标 对象。它返回 目标 对象。
Object.assign() 在源对象上调用 getter,在目标对象上调用 setter。它只分配属性,不复制或定义新属性。
使用 JavaScript Object.assign() 克隆对象
以下示例使用 Object.assign() 方法来 克隆对象。
let widget = {
color: 'red'
};
let clonedWidget = Object.assign({}, widget);
console.log(clonedWidget);
Code language: JavaScript (javascript)输出
{ color: 'red' }
Code language: CSS (css)请注意,Object.assign() 只执行浅层克隆,而不是深层克隆。
使用 JavaScript Object.assign() 合并对象
Object.assign() 可以将源对象合并到目标对象中,目标对象包含源对象的所有属性。例如
let box = {
height: 10,
width: 20
};
let style = {
color: 'Red',
borderStyle: 'solid'
};
let styleBox = Object.assign({}, box, style);
console.log(styleBox);
Code language: JavaScript (javascript)输出
{
height: 10,
width: 20,
color: 'Red',
borderStyle: 'solid'
}
Code language: CSS (css)如果源对象具有相同的属性,则后面对象的属性会覆盖前面的属性。
let box = {
height: 10,
width: 20,
color: 'Red'
};
let style = {
color: 'Blue',
borderStyle: 'solid'
};
let styleBox = Object.assign({}, box, style);
console.log(styleBox);
Code language: JavaScript (javascript)输出
{
height: 10,
width: 20,
color: 'Blue',
borderStyle: 'solid'
}
Code language: CSS (css)摘要
本教程是否有帮助?