typescript クラスを定義する

typescript クラスを定義する

typescriptで、ラスを定義するサンプルコード記述してます。typescriptのバージョンはVersion 4.1.2となります。

環境

  • OS windows10 64bit
  • typescript Version 4.1.2

クラス定義

typescriptでは、以下のようにクラスを定義することが可能です。

class hoge {

    private word: string;

    constructor(word: string) {
      console.log('コンストラクタを実行');
      this.word = word;
    }
     
    foo() {
      console.log(`Hello, ${this.word}`);
    }
  }
  
  const bar = new hoge('world'); // コンストラクタを実行
  bar.foo(); // Hello, world

継承も可能です。

class hoge {

    private word: string;

    constructor(word: string) {
      console.log('コンストラクタを実行');
      this.word = word;
    }
     
    foo() {
      console.log(`Hello, ${this.word}`);
    }
  }

  // 継承
class exhoge extends hoge {
}
  
  const bar = new exhoge('world'); // コンストラクタを実行
  bar.foo(); // Hello, world

getter・setterも実装できます。

class hoge {

    private _name: string = '';

    constructor() {
        console.log('コンストラクタを実行');
    }

    set name(name: string) {
        this._name = name;
    }

    get name(): string {
        return this._name;
    }

    foo() {
        console.log(`nameは${this._name}です`);
    }

}

const bar = new hoge();
bar.name = 'hello';
bar.foo();

bar.name = 'world';
bar.foo();