Integer Validity (v35)

Revision 35 of this benchmark created on


Setup

var a = 12;
    var b = 34.5;
    var c = Infinity;
    var d = '8';

Test runner

Ready to run.

Testing in
TestOps/sec
Typeof and modulus operator
(typeof a === 'number' && (a % 1) === 0);
(typeof b === 'number' && (b % 1) === 0);
(typeof c === 'number' && (c % 1) === 0);

(typeof d === 'number' && (d % 1) === 0);
ready
Using parseInt
(a == parseInt(a));
(b == parseInt(b));
(c == parseInt(c));

(d == parseInt(d));
ready
Using isNan
(isNaN(+a));
(isNaN(+b));
(isNaN(+c));
(isNaN(+d));
ready
Using |
(typeof a === 'number' && a === +a && a === (a | 0));
(typeof b === 'number' && b === +b && b === (b | 0));
(typeof c === 'number' && c === +c && c === (c | 0));
(typeof d === 'number' && d === +d && d === (d | 0));
ready
Number.isInteger
Number.isInteger(a);
Number.isInteger(b);
Number.isInteger(c);
Number.isInteger(d);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.