JavaScriptでは、これら2つの例の違いは何ですか。
前提条件:
function SomeBaseClass(){
}
SomeBaseClass.prototype = {
doThis : function(){
},
doThat : function(){
}
}
Object.createを使用した継承例A:
function MyClass(){
}
MyClass.prototype = Object.create(SomeBaseClass.prototype);
新しいキーワードを使用した継承例B
function MyClass(){
}
MyClass.prototype = new SomeBaseClass();
どちらの例も同じことをしているようです。いつどちらを選びましたか?
追加の質問:以下のリンク(15行目)のコードを検討してください。ここでは、関数自体のコンストラクターへの参照がプロトタイプに格納されています。なぜこれが便利なのですか?
https://github.com/mrdoob/three.js/blob/master/src/loaders/ImageLoader.js
抜粋(リンクを開きたくない場合):
THREE.ImageLoader.prototype = {
constructor: THREE.ImageLoader
}