TypeScriptのコンストラクタ引数public/privateの注意点

TypeScriptでクラスを書くとき、コンストラクタの引数でpublicやprivateを使う方法がありましたよね。でも最近、この書き方が非推奨になっているって知っていましたか?

非推奨となった背景

TypeScriptチームが2023年にこの機能を非推奨とした理由には、いくつかの問題点がありました:

  • コードの可読性が低下する
  • JavaScriptの仕様から離れすぎている
  • バンドラーやミニファイアでの最適化が難しい
  • デコレータとの相性が良くない

実際にTypeScriptチームからは「シンプルな方法を推奨したい」という意見が出ています。

推奨される新しい書き方

これまでの書き方:

class User {
  constructor(public name: string, private age: number) {}
}

推奨される新しい書き方:

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

  public name: string;
  private age: number;
}

この新しい書き方のほうが、プロパティの定義が明確になっていますね。

移行のポイントとベストプラクティス

既存のコードを移行する際のポイントをまとめました:

  • プロパティの型定義を明示的に書く
  • アクセス修飾子は必要な場合のみ使用する
  • コンストラクタ引数は型のみを指定する
  • クラスのプロパティは上部でまとめて定義する

移行は急いで行う必要はありません。既存のコードは動作し続けますが、新しいコードを書く際は推奨される方法を使うのがベストですね。

まとめ

コンストラクタ引数でのアクセス修飾子は非推奨となりましたが、これはTypeScriptをより明確で保守しやすいものにするための変更です。新しい書き方に慣れるまで少し時間がかかるかもしれませんが、コードの品質向上につながる良い変更だと考えられています。

TypeScriptの保守しやすい設計を学んだあとにAI活用や副業学習まで広げる場合は、有料講座を選ぶ前に、自分にスクールが必要な段階かも確認しておくと判断しやすくなります。AIスクールをおすすめしない人では、目的・作業時間・成果物の準備が整っているかを整理しています。

TypeScriptの保守しやすい設計やコンストラクタ引数の書き方を学んだあと、AI活用や副業学習で有料支援を検討する場合は、AIスクールの無料相談は何社受けるべき?も確認してください。1社だけで決めず、質問対応、作れる成果物、学習の進め方、料金総額、返金条件を同じ質問で比べると、どこまで支援を受けるべきか判断しやすくなります。

【2026年版】Amazonで買えるおすすめノートPCランキング!コスパ最強のモデルはこれだ
DELLのノートパソコンがテーブルの上に置いてある画像

Amazon の PC をスコア化してみた

Specsy Hub

Amazonにある8〜14インチの小型WindowsタブレットやノートPCを、スペック別にスコア化して比較・ランキング。

コメント

タイトルとURLをコピーしました