ES6 Object.assign()
来源:互联网 发布:南风知我意琰阙 编辑:程序博客网 时间:2024/05/17 01:11
克隆:
var a = { a: 1, b: 2 }var b = Object.assign({}, a)console.log(b) //Object {a: 1, b: 2}
融合:
var a = { a: 1, b: 2 }var b = { c: 3, d: 4 }var c = { e: 5, f: 6 }var d = Object.assign(a, b, c)console.log(a) //Object {a: 1, b: 2, c: 3, d: 4, e: 5…}console.log(b) //Object {c: 3, d: 4}console.log(c) //Object {e: 5, f: 6}console.log(d) //Object {a: 1, b: 2, c: 3, d: 4, e: 5…}
融合问题1:
const a = { student: { age: 15, name: 'jack' } }const b = { student: { age: 20 }}let c = Object.assign(a, b)console.log(c) //Object student age:20
融合问题1:解决方法
const a = { student: { age: 15, name: 'jack' }}let b = Ojbect.assign({}, a)b.student.age = 20console.log(b) //Object student age:20 name:"jack"
融合问题2:
const a = { student: { age: 15, name: 'jack' }}const b = Object.assign({}, a)const c = Object.assign({}, a)c.student.age = 20console.log("a::")console.log(a)console.log("b::")console.log(b)console.log("c::")console.log(c)
结果发现两个配置变得一模一样,而其实我们并没有去更改b的age,只是改了c的。
这说明一点:在student这一层只是简单的浅拷贝 ,而没有继续深入的深拷贝。
阅读全文
0 0
- ES6之Object.assign
- ES6 Object.assign()
- es6 Object.assign
- ES6之Object.assign()详解
- es6 javascript对象方法Object.assign()
- es6 javascript对象方法Object.assign()
- es6 javascript对象方法Object.assign()
- ES6-对象的扩展-Object.assign()
- es6 javascript对象方法Object.assign()
- deepClone, extend, 深克隆对象和Object.assign(ES6)
- Object.assign()
- Object.assign
- Object.assign()
- Object.assign()
- JavaScript对象扩展(Object.is(), assign(), 对象遍历keys, es6原型介绍)
- es6 Object
- class object assign operater
- Object.assign的使用
- JavaWeb三大组件之一Servlet【Servlet细节】
- 网络获取图片高度和宽度
- iOS Base64编码
- 网上资源交易系统(ssm)
- LeetCode 38 Count and Say
- ES6 Object.assign()
- HTML标签速查列表
- Java实现在线预览附件 office转换PDF
- 查询函数在哪些存储过程中使用
- 6-Python-面向对象
- 全面掌握 Node 命令选项
- iOS Pointer is missing a nullability type specifier (__nonnull or __nullable)
- 51nod 1120 机器人走方格 V3(卡特兰数,lucas定理)
- Nginx 504 Gateway Time-out