- Published on
Argument of type not assignable to parameter of type neverエラーの解決方法
Argument of type 'string' is not assignable to parameter of type 'never' TS2345
と出た時の解決方法を紹介します。
このエラーは代入先の配列との型があっていないことにより生じます。
例えば、下記のような場合にはArgument of type '[string, string, string, string, string]' is not assignable to parameter of type '[]'.
のようなエラーがでます。
const foo = (result: []) => { const arr = [] for (let i = 0; i <= 2; i++) { arr.push(result[i]) } } foo(['h', 'e', 'l', 'l', 'o'])
そのため、string型のデータを入れるのであれば、下記のように型を指定してあげれば解決できます。
const foo = (result: string[]) => { const arr = [] for (let i = 0; i <= 2; i++) { arr.push(result[i]) } } foo(['h', 'e', 'l', 'l', 'o'])
arryにstring型をつけてやることでも解決できます。ちなみに、この場合は両方につけるのがベストです。
参考: What is "not assignable to parameter of type never" error in TypeScript?