private フィールドとアクセサ

実践JavaScript / 全 5

実践JavaScript - private フィールドとアクセサ

外から触られたくない値に # を付ける

表示回数のように、勝手に書き換えられると困る値があります。名前の先頭に # を付けたフィールドは、その class の中からしか読み書きできません。外から見せたいときは get を1つ用意して、読む窓口だけを開けます。

読めるけれど書けない、という状態がこれで作れます。work.views に代入すると、set が無いので strict mode ではその場で TypeError になります。

work.views は括弧なしで読めます。中では #views を返しているだけです。

class Work { #views = 0; constructor(title) { this.title = title; } get views() { return this.#views; } } const work = new Work("ECサイト"); console.log(work.views); // 0

1 / 5

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