
TypeScript 5.8のerasableSyntaxOnlyフラグ。enumやnamespaceが消える日が来た
ARANK
TypeScript 5.8で導入されるerasableSyntaxOnlyフラグを使うと、enumやnamespace、クラスのパラメータプロパティ、moduleキーワードなどの構文をエラーとして検出できます。これらの構文はNode.jsでTypeScriptを実行する際に非互換な構文であり、本フラグの導入によりNode.jsとTypeScriptの互換性が高まります。本記事では、erasableSyntaxOnlyフラグの挙動と、なぜこのフラグが導入されたのかを解説します。erasableSyntaxOnlyフラグの挙動erasableSyntaxOnly とは、「削除可能な構文のみ」という意味です。削除可能な構文とは、Node.jsでTypeScriptを実行される際に削除される構文のことです。後ほど詳しく解説します。erasableSyntaxOnlyフラグは、tsconfig.jsonのcompilerOptionsに"erasableSyntaxOnly": trueを設定することで有効になります。{ "compilerOptions": { "erasableSyntaxOnly": true } } このフラグをONにした状態で、enumやnamespace、クラスのパラメータプロパティなどの構文を使ってみます。enum MyEnum { A, B, C, } namespace myNameSpace { export const foo = 1; } class MyClass { constructor(myField: string) {} } TypeScript…
5 comments
3/1にTypeScript 5.8が正式リリースされたので、記事も最新化しました💐
erasableSyntaxOnlyフラグと、導入された背景のNode.jsのフラグなしTypeScript実行について詳しく解説しています。
→ TypeScript 5.8のerasableSyntaxOnlyフラグ。enumやnamespaceが消える日が来た
zenn.dev/ubie_dev/artic…
昨日公開したerasableSyntaxOnlyフラグ記事のポイント。
zenn.dev/ubie_dev/artic…
・Node.js 23.6からは、特別なフラグなしにTypeScriptをそのまま実行できる
・Node.jsはTypeScriptファイルの実行時に型注釈を削除するが、enumやnamespaceは変換処理が必要で「削除不可能」とみなされる
・TypeScript… x.com/i/web/status/1…
新しい記事を書きました💐
TypeScript 5.8で新しく導入されたerasableSyntaxOnlyフラグについてです。enumやnamespaceといった、Node.jsでTypeScriptを実行する際の非互換な構文を撲滅できます✨
使い方、導入された背景について解説しました。
zenn.dev/ubie_dev/artic…
#typescript #nodejs