+ JavaScript の質問用スレッド vol.126 + [転載禁止]©2ch.net (740レス)
上
下
前
次
1-
新
204
: 2021/11/22(月)15:09 ID:???
AA×
[
240
|
320
|
480
|600|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
204: [sage] 2021/11/22(月) 15:09:58.61 ID:??? この種の質問は何度もされてると思いますが prototypeを使った継承について教えてください function Base(x=0,y=0) { [this.x, this.y] = [x, y] } Base.prototype.hello = function () { console.log("hello:"+ this.x +"," + this.y) } // パターン 1 function Derived(z=0) { Base.call(this,10,20); this.z = z } Derived.prototype = Object.create(Base.prototype); // → Base {} let obj = new Derived(30); // → { x: 10, y: 20, z: 30 } obj.hello(); // → hello:10,20 obj.__proto__.__proto__.hello === Base.prototype.hello; // → true // パターン 2 Derived.prototype = {...Base.prototype}; // → { hello: [Function (anonymous)] } obj = new Derived(30); // → { x: 10, y: 20, z: 30 } obj.hello(); // → hello:10,20 obj.__proto__.hello === Base.prototype.hello; // → true obj.__proto__.__proto__.hello === Base.prototype.hello; // → false よく紹介されているパターン 1 だと hello メソッドへの参照は 間に挟まった Baseインスタンスの分だけ遠くなります. パフォーマンス的にはパターン 2 の方が良さそうに感じますが何か問題があるでしょうか? http://mevius.5ch.net/test/read.cgi/hp/1439005423/204
この種の質問は何度もされてると思いますが を使った継承について教えてください パターン パターン よく紹介されているパターン だと メソッドへの参照は 間に挟まった インスタンスの分だけ遠くなります パフォーマンス的にはパターン の方が良さそうに感じますが何か問題があるでしょうか?
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 536 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
ぬこの手
ぬこTOP
0.061s