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) {} // ... }
プロパティの宣言と代入を省略する事ができる。
まとめ
クラスについてはまだまだ学習途中なので、学んだ事があれが随時記事を更新していく予定。