Panel クラスのコンストラクターでは this.getEl(); が書かれていないのはなぜですか?

Board の初期化が行われた時点で Panel クラスのメソッドが使えるようになるためです。
2021年5月11日
ユーザー

お世話になっております。
ここで、やや疑問に感じたのは、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();
    }

恐らく、「参照」という問題が絡んでくるのだと思いますが..。

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(10)