🐈

{[key: string]: any}はany[]も受け取る

1 min read

挙動を確認した限りではそうらしい。
こう書いてもエラーとはみなされない。中身に興味はないが配列になっていることまでは想定していないときに困る。

function foo(arg: {[key: string]: any}) {
  console.log(arg)
}

foo({ abc: 1 }) // OK
foo(['abc']) // OK

unknownを使っておくと配列は弾いてくれる。

function foo(arg: {[key: string]: unknown}) {
  console.log(arg)
}

foo({ abc: 1 }) // OK
foo(['abc']) // NG

Discussion

ログインするとコメントできます