【ES6】 JavaScript 中的Object.assign

Object.assign() 是 JavaScript 中的一个方法,它用于复制源对象的所有可枚举属性到目标对象。该方法会返回目标对象。

这是其基本用法:

javascript 复制代码
let target = Object.assign({}, source);

在这个例子中,source 对象的所有可枚举属性都被复制到了 target 对象。

需要注意的是,Object.assign() 是浅复制(shallow copy),意味着如果源对象中的值是一个对象引用,它只是复制了这个引用,而没有复制引用的对象。

例如:

javascript 复制代码
let obj1 = { a: 1 };
let obj2 = { b: 2 };
let obj3 = Object.assign({}, obj1, obj2);
console.log(obj3); // { a: 1, b: 2 }
console.log(obj3 === obj1); // false
console.log(obj3.a === obj1.a); // true

在这个例子中,尽管 obj3 是从 obj1 和 obj2 复制的,但是 obj3.a 和 obj1.a 是同一个引用,指向同一个对象。因此,如果你需要深度复制,可能需要使用其他方法,例如递归复制或使用库如 Lodash 的 _.cloneDeep() 函数。

相关推荐
你挚爱的强哥29 分钟前
如何设置 Chrome 打开默认页面不要是360的主页https://hao.360.com/?src=lm&ls=n6205869099
前端·chrome·360首页劫持
总要学点什么33 分钟前
第75篇:右键菜单控件——把一张会做事的菜单钉在鼠标落下的那点
前端·信息可视化·echarts·cesium·空间分析
计算机魔术师39 分钟前
国办说AI要"缓"着上,但你公司可能已经全上完了
前端
IT_陈寒1 小时前
SpringBoot性能优化完全指南
前端·人工智能·后端
溪语流沙1 小时前
【每天一个CSS | Day33】聚焦即弹出的命令面板
前端·css·html5·组件·每日一练
燕落南枝2 小时前
CSS 用户行为伪类::hover 与 :focus 详解
前端·css
风骏时光牛马2 小时前
业务基础信息管理库
前端
zyxqyy&∞2 小时前
sqli-labs-布尔盲注 (Less-8),时间盲注 (Less-9~10)
前端
m0_敲代码的彭于晏1689 小时前
Vercel 前端部署平台深度评测
前端
怕浪猫10 小时前
外包和大厂的前端代码,差在凌晨三点
前端·面试·github