一、new Object()和{ }
- { }等同于new object(), 原形object.prototype
let obj1 = {
a: 10,
b: 20,
sum() {
return this.a + this.b
}
}//原形object.prototype
let obj2 = new Object({
a: 10,
b: 20,
sum() {
return this.a + this.b
}
})//原形object.prototype
二、Object.create()创建
1 object.create(null) 没有原形
- object.create({
...
}) 可以指定原形 - Object.create是创建一个空对象,把对象挂到创建的原型当中。
例如
const obj5 = object.create({
a: 10,
b: 20,
sum() {
return this.a + this.b
}
})
创建的是空对象
三、Object.create()如果指向对象
const obj6 = object.create(obj1)
obj6
这种情况下创建的空对象,obj6的原型指向的obj1这个对象。
网友评论