🐈
{[key: string]: any}はany[]も受け取る
挙動を確認した限りではそうらしい。
こう書いてもエラーとはみなされない。中身に興味はないが配列になっていることまでは想定していないときに困る。
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