タグ付けされた質問 「object-create」

10
Object.create()と新しいSomeFunction()の違いを理解する
私は最近Object.create()JavaScriptでこのメソッドに遭遇し、それがnew SomeFunction()を使用してオブジェクトの新しいインスタンスを作成することとどのように異なるのか、そしてどちらを使用したいのかを推測しようとしています。 次の例について考えてみます。 var test = { val: 1, func: function() { return this.val; } }; var testA = Object.create(test); testA.val = 2; console.log(test.func()); // 1 console.log(testA.func()); // 2 console.log('other test'); var otherTest = function() { this.val = 1; this.func = function() { return this.val; }; }; var otherTestA = …

4
JavaScriptの継承:Object.createとnew
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 }
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.