typescript/prefer-as-const 正しさ
何をするか
リテラル型を使用する際、as const をリテラル型の使用よりも推奨します。
なぜこれは問題か
タイプスクリプトにリテラル値がリテラル型(例:2)として解釈されるように指示するには、一般的に以下の2つの方法があります。
一方で、汎用的なプリミティブ型(例:number)として解釈されないようにするためです。
as const:タイプスクリプトにリテラル型を自動的に推論させるasにリテラル型を明示的に指定:タイプスクリプトにリテラル型を明示的に伝える
通常、as const のほうが好ましいです。なぜなら、リテラル値を再入力する必要がないからです。
このルールは、明示的なリテラル型を持つ as を as const に置き換えることができる場合に報告します。
例
このルールに対して不適切なコードの例:
ts
let bar: 2 = 2;
let foo = { bar: "baz" as "baz" };このルールに対して適切なコードの例:
ts
let foo = "bar";
let foo = "bar" as const;
let foo: "bar" = "bar" as const;
let bar = "bar" as string;
let foo = { bar: "baz" };使用方法
設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:
json
{
"rules": {
"typescript/prefer-as-const": "error"
}
}bash
oxlint --deny typescript/prefer-as-const