Skip to content
← Back to rules

typescript/no-explicit-any 制限

🛠️ An auto-fix is available for this rule for some violations.

何をしますか?

any 型の明示的な使用を禁止します。

なぜ悪いですか?

TypeScript の any 型は、型システムからの「危険な脱出手段」です。any を使用すると、多くの型チェックルールが無効になり、通常は最終手段またはコードのプロトタイピング時にのみ使用すべきです。このルールは、型注釈として any キーワードを明示的に使用した場合に報告します。

TypeScript の --noImplicitAny コンパイラオプションは暗黙の any を防ぎますが、このルールが行うように、any が明示的に使われるのを防ぐものではありません。

このルールに対して不正なコードの例:

typescript
const age: any = "seventeen";
const ages: any[] = ["seventeen"];
const ages: Array<any> = ["seventeen"];
function greet(): any {}
function greet(): any[] {}
function greet(): Array<any> {}
function greet(): Array<Array<any>> {}
function greet(param: Array<any>): string {}
function greet(param: Array<any>): Array<any> {}

このルールに対して正しいコードの例:

typescript
const age: number = 17;
const ages: number[] = [17];
const ages: Array<number> = [17];
function greet(): string {}
function greet(): string[] {}
function greet(): Array<string> {}
function greet(): Array<Array<string>> {}
function greet(param: Array<string>): string {}
function greet(param: Array<string>): Array<string> {}

設定

このルールは以下のプロパティを持つ設定オブジェクトを受け入れます。

fixToUnknown

型: boolean

デフォルト: false

any 型を unknown 型に変換する自動修正機能を有効にするかどうか。

ignoreRestArgs

型: boolean

デフォルト: false

レストパラメータ配列を無視するかどうか。

使用方法

このルールを設定ファイルまたは CLI で有効化するには、次のように使用できます:

json
{
  "rules": {
    "typescript/no-explicit-any": "error"
  }
}
bash
oxlint --deny typescript/no-explicit-any

参照