TS7006: Parameter 'x' implicitly has an 'any' type
TypeScriptで型定義がなく暗黙的にany型と推論された場合のエラー
概要
TypeScriptのstrictモードまたはnoImplicitAnyが有効な場合に、引数や変数に型注釈がなく、コンパイラが型を推論できない場合に発生するエラーです。
エラーメッセージ
TS7006: Parameter 'x' implicitly has an 'any' type.
TS7005: Variable 'x' implicitly has an 'any' type.
原因
- 関数の引数に型注釈がない: 引数の型が推論できない
- 変数の初期値がない: 宣言時に値が代入されず型が決まらない
- コールバック関数の引数: 配列メソッドなどのコールバックで型が推論されない
- strictモードの有効化: プロジェクト設定でnoImplicitAnyが有効
解決策
1. 関数の引数に型注釈を追加
| |
2. 変数に型注釈または初期値
| |
3. コールバック関数の型
| |
4. イベントハンドラの型
| |
5. Object.keysの型
| |
6. 明示的にanyを許可(非推奨)
| |
7. tsconfig.jsonの設定
| |
よくある間違い
any型で逃げて型安全性を失う- ライブラリの型定義ファイル(@types/xxx)をインストールし忘れる
- JSON.parse()の戻り値に型を付けない
関連エラー
参考リンク
TypeScript の他のエラー
この記事は役に立ちましたか?