TypeScriptにおけるOOPのアクセサー
純粋なJavaScriptと同様に、 TypeScriptでもプロパティのアクセサー: ゲッターとセッターを作成できます。
しかし、TypeScriptでは、アクセサーの名前は
プロパティの名前と一致してはなりません。
実際に見てみましょう。プライベートプロパティ
nameのアクセサーを作成します。
アクセサーの名前もnameにすると、
このコードはエラーを発生させます:
class User {
private name: string = '';
public set name(name: string) { // エラーが発生します
this.name = name;
}
public get name(): string {
return this.name;
}
}
例えば、プライベートプロパティの名前を変更して 問題を修正します:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
名前と年齢を持つプライベートプロパティを含む
Userクラスを作成してください。
これらのプロパティのアクセサーを作成してください。
年齢のセッターを修正し、年齢を0から
120まで設定できるようにしてください。
それ以外の値が指定された場合は、例外が
スローされる必要があります。