📜minify の効果を最大限に引き出す TypeScript コードを書く2025/06/01に公開2件テーマ「TypeScriptでやってみた 挑戦・学び・工夫」JavaScriptTypeScript記事投稿コンテスト「TypeScriptでやってみた挑戦・学び・工夫」techDiscussionレオ6ヶ月前 クラスのプロパティ名やメソッド名は、minifyしても名前が変更されず、短くなりません。 ご参考情報ですが、少なくとも esbuild の場合は TypeScript の private 修飾子の代わりにプライベートプロパティを使用すると名前は短く変更されます。プライベートプロパティはクラスやインスタンス外部から直接参照する手段が無いので名前を変えても安全であるためだと思います。チーム開発において多少現実的な方法かもしれません。 export class Foo { public foo() { this.bar(); this.#baz(); } // bar は minify されない private bar() {} // #baz は minify される #baz() {} } esbuild デモ @jsakamoto6ヶ月前レオさん 有益な情報ありがとうございます! そうですね、プライベートプロパティはすっかり見落としていました。TypeScript のクラスメンバーのアクセス修飾子は、JavaScript へのトランスパイル時に消えてしまいますけれども、JavaScript レベルで提供されているプライベートプロパティの仕組みであれば、たしかに minify されますね。より現実的なアプローチだと思います。コメントありがとうございます! 返信を追加
レオ6ヶ月前 クラスのプロパティ名やメソッド名は、minifyしても名前が変更されず、短くなりません。 ご参考情報ですが、少なくとも esbuild の場合は TypeScript の private 修飾子の代わりにプライベートプロパティを使用すると名前は短く変更されます。プライベートプロパティはクラスやインスタンス外部から直接参照する手段が無いので名前を変えても安全であるためだと思います。チーム開発において多少現実的な方法かもしれません。 export class Foo { public foo() { this.bar(); this.#baz(); } // bar は minify されない private bar() {} // #baz は minify される #baz() {} } esbuild デモ @jsakamoto6ヶ月前レオさん 有益な情報ありがとうございます! そうですね、プライベートプロパティはすっかり見落としていました。TypeScript のクラスメンバーのアクセス修飾子は、JavaScript へのトランスパイル時に消えてしまいますけれども、JavaScript レベルで提供されているプライベートプロパティの仕組みであれば、たしかに minify されますね。より現実的なアプローチだと思います。コメントありがとうございます! 返信を追加
@jsakamoto6ヶ月前レオさん 有益な情報ありがとうございます! そうですね、プライベートプロパティはすっかり見落としていました。TypeScript のクラスメンバーのアクセス修飾子は、JavaScript へのトランスパイル時に消えてしまいますけれども、JavaScript レベルで提供されているプライベートプロパティの仕組みであれば、たしかに minify されますね。より現実的なアプローチだと思います。コメントありがとうございます!
Discussion
ご参考情報ですが、少なくとも esbuild の場合は TypeScript の private 修飾子の代わりにプライベートプロパティを使用すると名前は短く変更されます。プライベートプロパティはクラスやインスタンス外部から直接参照する手段が無いので名前を変えても安全であるためだと思います。チーム開発において多少現実的な方法かもしれません。
esbuild デモ
レオさん
有益な情報ありがとうございます! そうですね、プライベートプロパティはすっかり見落としていました。TypeScript のクラスメンバーのアクセス修飾子は、JavaScript へのトランスパイル時に消えてしまいますけれども、JavaScript レベルで提供されているプライベートプロパティの仕組みであれば、たしかに minify されますね。より現実的なアプローチだと思います。コメントありがとうございます!