雑多なブログ

音楽や語学、プログラム関連の話題について書いています

Typescript: クラス

Typescriptのクラスについて。

class Item {
    // (1)
    public name: string
    public price: number
    private id: number

    // (2)
    constructor(name: string, price: number, id: number) {
        this.name = name
        this.price = price
        this.id = id
    }
    
    // (3)
    info(): string {
        return `name: ${this.name}, price: ${this.price}`
    }
}

プロパティの宣言 ... (1)

ここではプロパティの宣言を行なっている。 宣言は次のフォーマットで記述する。

アクセス修飾子 プロパティ名: 型

アクセス修飾子の種類は、一般的なオブジェクト指向の言語と同じように、下記の3つが指定できる。

  • public ... クラス外からアクセス可能
  • private ... クラス内部からのみアクセス可能
  • protected ... サブクラス内部からのアクセスのみ可能

アクセス修飾子を省略した場合は、デフォルトで public に設定される。

コンストラクタ ... (2)

インスタンス生成時に実行する処理を記述する。
ここで、プロパティへの代入を行う。

メソッド ... (3)

インスタンスメソッドの宣言。
例では、publicなメソッドとして宣言している。

フォーマットは次の通り。

アクセス修飾子 メソッド名(メソッドの引数...): 返り値 { .... }

プロパティの宣言を省略する

冒頭でに掲載した例では、プロパティの宣言を別個で行なっているが、これらの宣言をコンストラクタにまとめることもできる。

記述の仕方は次の通り。

class Item {
    constructor(public name: string, public price: number, private id: number) {}
    // ...    
}

プロパティの宣言と代入を省略する事ができる。

まとめ

クラスについてはまだまだ学習途中なので、学んだ事があれが随時記事を更新していく予定。