array.filterでundefined is not a function

投稿者:

他言語みたいに[].filter()ってやったらなるエラー

> ['a', 'b', ''].filter()
Uncaught TypeError: undefined is not a function
    at Array.filter (<anonymous>)

ちなみにsafariだとこういうメッセージ

TypeError: Array.prototype.filter callback must be a function

もちろんundefinedを渡してもなる

# func = undefined
> ['a', 'b', ''].filter(func)
Uncaught TypeError: undefined is not a function
    at Array.filter (<anonymous>)

ちゃんと引数にfunctionを渡そう!

> ['a', 'b', ''].filter(v => v)
[ 'a', 'b' ]

ステップアップJavaScript フロントエンド開発の初級から中級へ進むために