周记JS篇(一)—— Object.assign、JSON.parse、JSON.stringify

1、Object.assign(): 用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,返回目标对象。

语法:Object.assign(target, …sources)
例子:

const object1 = { a: 1,  b: 2, c:3 }
const object2 = Object.assign({}, object1)
console.log(object.c)  //3

//合并对象,合并相同属性的对象
const obj1 = { a:1 }
const obj2 = { b:2 }
const target = Object.assign({}, obj1, obj2)
console.log(target)   //{ a:1, b:2 }

const obj3 = { a:1, b:2, c:3 }
const mergeSame = Object.assign({}, obj1, obj2, obj3)
console.log(mergeSame)  //{ a:1, b:2, c:3 }

**注意:**针对深拷贝,需要使用其他方法,因为 Object.assign()拷贝的是属性值。假如源对象的属性值是一个指向对象的引用,它也只拷贝那个引用值。通过JSON.parse(JSON.stringify())可实现深拷贝
周记JS篇(一)—— Object.assign、JSON.parse、JSON.stringify_第1张图片
(1)补充说明:
①:JSON.parse(): 从一个字符串中解析出json对象

const data = '{ "name": "goating" }'
JSON.parse(data)  // { name: "goating" }

JSON.stringify(): 将javascript值转为JSON字符串

const data = { name: "goating" }
JSON.stringify(data)  // '{ "name": "goating" }'

你可能感兴趣的:(JS篇)