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…

zenn.dev
Related Topics: TypeScript
5 comments