多態と static

実践JavaScript / 全 5

実践JavaScript - 多態と static

同じ名前のメソッドを種類ごとに用意する

作品の種類で表示を変えたいとき、呼ぶ側で if を書くと、種類が増えるたびにその if を直すことになります。かわりに同じ名前のメソッドを種類ごとに用意しておくと、呼ぶ側は名前を書くだけで済みます。

種類を1つ増やすときに触るのは、新しい class を足すことだけです。呼び出し側のループは書いたまま動きます。

ループの中に種類を見る分岐はありません。どちらが動くかは w 自身が知っています。

class Work { badge() { return "作品"; } } class FeaturedWork extends Work { badge() { return "注目作品"; } } for (const w of [new Work(), new FeaturedWork()]) { console.log(w.badge()); } // 作品 // 注目作品

1 / 5

このスライドが付いているレッスンを開く