使用最新的方法Object.setPrototypeOf
(类似Reflect.setPrototypeOf
)可以很方便地给对象设置原型,这个对象会继承该原型所有属性和方法。
但是,setPrototypeOf的性能很差,我们应该尽量使用 Object.create()
来为某个对象设置原型。
//obj的原型是Object.prototype
var obj={
methodA(){
console.log("coffe");
}
}
var newObj = Object.create(obj);//以obj为原型创建一个新的对象
//methodA实际上是newObj原型对象obj上的方法。也即newObj继承了它的原型对象obj的属性和方法。
newObj.methodA();//>> coffe