用javascript将构造函数添加回object.create的最佳方式

best way to add back constructor to object.create in javascript

本文关键字:create 最佳 方式 object javascript 构造函数 添加      更新时间:2023-09-26

我完全知道关于object.create的其他非常相似的帖子,但我真的无法回答这个特定的问题。我曾经看到一个代码,它看起来像是使用object.create创建新的原型,然后添加回构造函数

function blah(){
   // typical constructor
}
blah.prototype = Object.create(somethingelse.prototype);
blah.prototype.constructor = blah;

类似的。。我在chrome dev工具中尝试过,但并不认为它们是平等的。。现在试着看看我看到的代码是为了实现什么?我认为Object create和new之间有更多的区别(不仅仅是缺少构造函数?)

function blah(){
 //...
}
undefined
function somethingelse(){
 //
}
undefined
somethingelse.prototype = {
    // something else
}
Object {}
blah.prototype = Object.create(somethingelse.prototype);
Object {}
blah.prototype.constructor = blah;
blah(){
 //...
}
blah == somethingelse;
false

您已经创建了两个不同的对象(blah之类的)。我想你对继承的含义感到困惑。

当您比较(==)2个对象时,将评估引用,但它不同。