【週刊ドットインストール】 学習ロードマップにPHP/Laravelを追加、最近のAI使いこなしTips
お世話になっております。 ここで、やや疑問に感じたのは、Boardクラスではコンストラクターの中で this.setup(); と定義しているのに対して、Panelクラスではコンストラクターで this.getEl(); とは書かれていない点です。 勿論、以下の様に書いてみても同じ結果でした。
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メソッドが継承されるのでしょうか?
const board = new Board();
panels
getEl
constructor(){ this.panels = []; for(let i = 0; i < 4; i++){ this.panels.push(new Panel()); ← ここです } this.setup(); }
恐らく、「参照」という問題が絡んでくるのだと思いますが..。
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
お世話になっております。
ここで、やや疑問に感じたのは、
Boardクラスではコンストラクターの中でthis.setup();と定義しているのに対して、Panelクラスではコンストラクターでthis.getEl();とは書かれていない点です。勿論、以下の様に書いてみても同じ結果でした。
これは、最後に
const board = new Board();とインスタンス化する際には、「クラスのコンストラクターの中が実行される」けれども、以下の
Boardクラスのコンストラクターで
Panelクラスを呼び出した場合は、panelsオブジェクトにはgetElメソッドが継承されるのでしょうか?恐らく、「参照」という問題が絡んでくるのだと思いますが..。