tech

テックカテゴリー

TypeScriptのclass初期化を楽にする

Category | front

Tag | TypeScript

Author | naohito-T

Post | 2022-12-22 / 34,254views

クラス初期化の引数を少なくする方法

プロパティが多くなるとめんどくさい

class User {
  public readonly id: number;
  public readonly name: string;
  public readonly age: number;
  public readonly email?: string;

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

Classに必要な初期化処理を愚直に書くとめんどくさいためこれを少しでも楽にする。

Parameter propertiesで楽にする

TypeScriptのクラスにはparameter-propertiesという記法がある。

class User {
 constructor(
   public readonly id: number,
   public readonly name: string,
   public readonly age: number,
   public readonly email?: string,
 ) {}
}


これで記述量が半分になって楽になる。


Share this article

naohito-T

naohito-T

千葉出身。都内(銀座)での美容師経験があるソフトウェアエンジニア。モデル撮影のために購入したmacを使っていたらPCの仕組みが気になり始め、気づいたらエンジニアに。人生まるごとクリエイティブだと思っている。人の髪をデザインしていた経験をIT業界へ活かせることはないか日々模索中。