内蔵GPUはIntelかAMDどっちが良い?もはや優秀過ぎてグラボいらない説【Intel Arc vs Ryzen Radeon】
TypeScriptのコンストラクタ引数でのpublic/privateが非推奨となっていた件
この記事を書いている人
ITフリーランスをしているせせらと言います。
小さい頃からPCが大好きで、自作PCやプログラミングを小学生の頃からしていました。
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をより明確で保守しやすいものにするための変更です。新しい書き方に慣れるまで少し時間がかかるかもしれませんが、コードの品質向上につながる良い変更だと考えられています。
このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。