Object.assign
Object.assign方法用来将源对象(source)的所有可枚举属性,复制到目标对象(target)。它至少需要两个对象作为参数,第一个参数是目标对象,后面的参数都是源对象
let obj1={a:1,b:2}
let obj2={c:3}
Object.assign(obj1,obj2)
console.log(obj1)//{a: 1, b: 2, c: 3}
注意Object.assign是浅拷贝
let obj1={a:1,b:2,person:{age:17}}
let obj2={c:3}
Object.assign(obj2,obj1)
obj2.person.age=18
console.log(obj1)//{a:1,b:2,person:{age:18}}
Object.create在对象原型上添加属性
Object.defineProperty
对象属性描述符,VUE实现原理
通过 . [] 等方式添加或修改的属性,configurable\enumerable\value\writable默认是true
通过 defineProperty 添加或修改的属性,configurable\enumerable\value\writable默认是false