VSCode上でよく見る?エラー
バインド要素 'xxx' には暗黙的に 'any' 型が含まれます。
TypeScriptでアプリケーションを実装していると度々発生するこのエラー。
最適解ではないにせよ、実は簡単な方法で黙らせることができます。
暫定の解決策
tsconfig.jsonに "noImplicitAny": false
を追加する。
追加するとあら不思議。エラーが出なくなりました。スッキリ。
そもそもエラーの原因は何?
xxx
に型が指定されていないため、発生しています。
(まぁエラーメッセージを見れば一目瞭然ではありますが。。)
TypeScriptは動的型付けであるJavaScriptのデメリットを解決するための言語であり、型を活かすことで本来の力を発揮できます。
しかし、実装上では型が定義されておらず、何でも代入できるany型の変数の扱いとなっているためVSCodeはエラーを出力しています。
恒久の解決策
typeを使って型を定義します。
type ContentsData = {
contents: {
id: string,
title: string
},
totalCount: number
}
これでany型ではなくなるため、エラーはでなくなります。
まとめ
TypeScriptで実装するなら型を定義せよ。
anyにさせたら負け。