JavaScript では単体の + 演算で数値化が行われる これを利用して数値っぽいか判定する関数を作ってみた。 このオブジェクト数値っぽい? function isNumber(a) { return +a == a } こんな感じで使う isNumber(true); // true (true は 1 として扱うことができるから) isNumber(false); // true (false は 2 として扱うことができるから) isNumber("1e1"); // true (数値に変換可能な文字列) isNumber("hoge"); // false (数値に変換不可能な文字列) isNumber({toString: function(){return "1"}}); // true (数値に変換可能なオブジェクト) isNumber({}); // false (数値