Skip to content
← Back to rules

typescript/prefer-as-const 正しさ

This rule is turned on by default.
🛠️ An auto-fix is available for this rule for some violations.

何をするか

リテラル型を使用する際、as const をリテラル型の使用よりも推奨します。

なぜこれは問題か

タイプスクリプトにリテラル値がリテラル型(例:2)として解釈されるように指示するには、一般的に以下の2つの方法があります。
一方で、汎用的なプリミティブ型(例:number)として解釈されないようにするためです。

  • as const:タイプスクリプトにリテラル型を自動的に推論させる
  • as にリテラル型を明示的に指定:タイプスクリプトにリテラル型を明示的に伝える

通常、as const のほうが好ましいです。なぜなら、リテラル値を再入力する必要がないからです。
このルールは、明示的なリテラル型を持つ asas 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

参照