お世話になっております。
ここで、やや疑問に感じたのは、Board
クラスではコンストラクターの中で
this.setup();
と定義しているのに対して、Panel
クラスではコンストラクターで
this.getEl();
とは書かれていない点です。
勿論、以下の様に書いてみても同じ結果でした。
constructor(){
this.el = document.createElement('li');
this.el.classList.add('pressed');
this.getEl(); ← これをつけ加えました
}
getEl(){
return this.el;
}
これは、最後にconst board = new Board();
とインスタンス化する際には、
「クラスのコンストラクターの中が実行される」けれども、以下のBoard
クラスの
コンストラクターでPanel
クラスを呼び出した場合は、panels
オブジェクトには
getEl
メソッドが継承されるのでしょうか?
constructor(){
this.panels = [];
for(let i = 0; i < 4; i++){
this.panels.push(new Panel()); ← ここです
}
this.setup();
}
恐らく、「参照」という問題が絡んでくるのだと思いますが..。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?