【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() 函数。

相关推荐
光影少年6 分钟前
RN导航与路由
前端·react native·react.js
smallcelebration16 分钟前
139 @vueuse/core依赖介绍使用
前端·javascript·vue.js
蒜苔肉丝28 分钟前
Vue3 动态表单:模块复用 + 动态增删行 + 数据回显
前端·javascript·vue.js
Cxiaomu43 分钟前
从 TRTC Demo 到独立音视频服务:React + TRTC Web SDK 服务化实践
前端·react.js·音视频
索西引擎1 小时前
【React】Redux 中间件机制:副作用处理与数据流增强的形式化分析
前端·react.js·中间件
寒草1 小时前
「寒草呈献」工作六年,是否仍有创造未来的勇气 ✨
前端·后端
HackTwoHub2 小时前
解锁 AI 红队全新玩法!Claude-Red 攻防 Skill 库,内置 SQLi、XXE、文件上传等 Web 专项 Skill,一键导入快速落地渗透实战
前端·人工智能·web安全·网络安全·自动化·系统安全
石小石Orz2 小时前
如何设计一个优秀的 Skills
前端·人工智能
程序员爱钓鱼2 小时前
Rust 切片 Slice 详解:安全访问连续数据
前端·后端·rust
alexander0685 小时前
CSS 类选择器组合
前端·css