JavaScriptのtypeofって大雑把すぎんじゃね?というやつ

JavaScriptでオブジェクトの型を判別するのにtypeof演算子使うとツラいよね – Qiita
で is(‘型’, 値) という関数が便利なのだけど typeof と比較して10倍ぐらい遅い。
なので、それなりに速度を上げてarrayやnull(とついでにNaN)も判定する関数を考えた。

typeofでなくてtypeOf()です。

ES6が使えない場合は Number.isNaN がダメなので typeof val === ‘number’ && isNaN(val) とする必要があります。