isNaN関数の落とし穴

は?nullも空文字も空白も数値なの?

isNaN(null) => false
isNaN('') => false
isNaN(' ') => false
isNaN(undefined) => true


というわけで入力された値が数値かどうかを調べたい時などは isNaN 関数だけではとても使い物にならないので、 trim 後に有効な長さがあるか調べたり正規表現で調べる必要がある。


参考:JavaScript のムカつくコードを集めたサイト
http://wtfjs.com/