前提:要先明白原型和原型链 JS基础知识:原型和原型链
- {} 等同于 new Object(), 原型 Object.prototype
- Object.create(null) 没有原型, 必须传个参数
- Object.create({…}) 可指定原型
Object.create({…}) : 创建一个空对象,把原型__proto__ 指向传入的对象 代码示例:
a: 10,
b: 20,
sum() {
return this.a + this.b
}
}
const obj2 = new Object({
a: 10,
b: 20,
sum() {
return this.a + this.b
}
})
const obj21 = new Object(obj1) // obj21 === obj1
const obj3 = Object.create(null)
const obj4 = new Object() // {}
const obj5 = Object.create({
a: 10,
b: 20,
sum() {
return this.a + this.b
}
})
const obj6 = Object.create(obj1) // obj6.__proto__ === obj1