cheesenan
CheeseNaN allows you to truly test if a variable is a number or not.
There is a pun intended.
You might as well use Number.isFinite
or Lodash
tbh.
isNaN() is broken
// false // false // false // true // false // false // false // true {} + // 0 // should be equivalent to isNaN(0), but returns true instead + {} // "[object Object]" // true
Number.isNaN() is (less) broken
Number // falseNumber // false Number // falseNumber // false Number // falseNumber // false Number // falseNumber // false {} + // 0Number // false + {} // "[object Object]"Number // false
So here's a convenient test
{ return typeof value !== 'number' || Number;}
And now you can do
// true // true // true // true // true // true // true // true // true // true // true
What's next
- Dunno. Maybe doing something actually usefull?