TypeScriptでクラスのゲッター(getter)とセッター(setter)のサンプル

2021年11月7日

環境情報

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Windows10 64bit
TypeScript Version 4.4.4
Windows10 64bit TypeScript Version 4.4.4
Windows10 64bit
TypeScript Version 4.4.4

構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
//クラスのメンバーのsetter
set 変数名(変数名: number) {
this._変数名 = 変数名;
}
   //クラスのメンバーのgetter
get 変数名(): number {
return this._変数名;
}
//クラスのメンバーのsetter set 変数名(変数名: number) { this._変数名 = 変数名; }    //クラスのメンバーのgetter get 変数名(): number { return this._変数名; }
     //クラスのメンバーのsetter
    set 変数名(変数名: number) {
       this._変数名 = 変数名;
   }
   //クラスのメンバーのgetter
   get 変数名(): number {
       return this._変数名;
   }

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
//Empクラスの定義
class Emp {
//メンバーの宣言
private _username: string = 'テスト 太郎';
private _age:number = 20;
//メンバーusernameのgetter、setter
set username(username: string) {
this._username = username;
}
get username(): string {
return this._username;
}
//メンバーageのsetter
set age(age: number) {
this._age = age;
}
   //メンバーageのgetter
get age(): number {
return this._age;
}
// 関数の定義
funA() {
console.log(`名前:${this._username},年齢:${this._age}`);
}
}
//クラスのインスタンスの生成
const cft = new Emp();
cft.username = '山田 太郎';
cft.age = 32;
//クラスの関数を呼び出す
cft.funA();
//Empクラスの定義 class Emp { //メンバーの宣言 private _username: string = 'テスト 太郎'; private _age:number = 20; //メンバーusernameのgetter、setter set username(username: string) { this._username = username; } get username(): string { return this._username; } //メンバーageのsetter set age(age: number) { this._age = age; }    //メンバーageのgetter get age(): number { return this._age; } // 関数の定義 funA() { console.log(`名前:${this._username},年齢:${this._age}`); } } //クラスのインスタンスの生成 const cft = new Emp(); cft.username = '山田 太郎'; cft.age = 32; //クラスの関数を呼び出す cft.funA();
//Empクラスの定義
class Emp {
   //メンバーの宣言
    private _username: string = 'テスト 太郎';
      private _age:number = 20;
      
      //メンバーusernameのgetter、setter
    set username(username: string) {
        this._username = username;
    }
 
    get username(): string {
        return this._username;
    }
      //メンバーageのsetter
     set age(age: number) {
        this._age = age;
    }
    //メンバーageのgetter
    get age(): number {
        return this._age;
    }
      // 関数の定義
    funA() {
        console.log(`名前:${this._username},年齢:${this._age}`);
    }
 
}
//クラスのインスタンスの生成
const cft = new Emp();
cft.username = '山田 太郎';
cft.age = 32;
//クラスの関数を呼び出す
cft.funA();

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
名前:山田 太郎,年齢:32
名前:山田 太郎,年齢:32
名前:山田 太郎,年齢:32

 

TypeScript

Posted by arkgame