4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[TypeScript] constructorの省略記法

Last updated at Posted at 2021-01-11

開発環境

  • typescript (v 3.7.5)
  • ts-node (v 8.5.4)

javascriptのように書くと

class Member {
  public name: string;
  protected age: number;

  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }
}

typescriptで書くと

class Member {
  constructor(public name: string, protected age: number) {}
}

//   constructor(アクセス修飾子 引数名: 引数の型名) {
//   }

※アクセス修飾子のデフォルトは「public」ですが、初期化をする上記の場合、省略できない。
※今回のようにインスタンスメンバーの作成と初期化を1箇所で行う
処理を**「パラメータープロパティ宣言」**と呼ばれています。

まとめ

初期化処理をシンプルに記述できますね。

**「アクセス修飾子をコンストラクタの引数に書くだけで
typescriptでは自動で初期化処理まで実行してくれる」**ことをしっかり理解しておきたいと思います。

参考記事

TypeScriptのClassについて – 公式ドキュメント日本語訳

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?