アクセサー (Accessor) とは
プライベートプロパティ(隠蔽されたデータ)に対して、安全に読み書きを行うための特別なメソッドです。
ゲッター (Getter) と セッター (Setter)
- ゲッター (Getter)
- データの値を「取得」するためのメソッド。一般に
getプロパティ名()と命名します。 - セッター (Setter)
- データの値を「設定」するためのメソッド。代入前にチェック(バリデーション)を行うことができます。一般に
setプロパティ名(値)と命名します。
コード例とバリデーション
class Fan {
#blades;
constructor(blades) {
this.setBlades(blades);
}
// ゲッター
getBlades() {
return this.#blades;
}
// セッター
setBlades(value) {
if (value > 0) { // 0より大きい場合のみ代入を許可
this.#blades = value;
} else {
console.error("エラー:羽根の枚数は1枚以上にしてください。");
}
}
}
const myFan = new Fan(5);
myFan.setBlades(-3); // エラー表示され、値は書き換わらない