"Type of undefined" vs "=== undefined" (v57)

Revision 57 of this benchmark created on


Setup

var list = [];
    var undef = void 0;
    var undef2;
    for (var i = 0; i !== 2000; i++) {
      var rand = Math.floor(Math.random() * 1000) % 7;
      switch (rand) {
        case 0:
          list[i] = 1;
          break;
        case 1:
          list[i] = true;
          break;
        case 2:
          list[i] = "c";
          break;
        case 3:
          list[i] = [];
          break;
        case 4:
          list[i] = {};
          break;
        case 5:
          list[i] = void 0;
          break;
        case 6:
          break;
      }
    }

Test runner

Ready to run.

Testing in
TestOps/sec
typeof undefined
var acc = 0;
for (var i = 0; i !== 2000; i += 1) {
  if (typeof list[i] === 'undefined') acc += 1;
}
ready
=== undefined
var acc = 0;
for (var i = 0; i !== 2000; i += 1) {
  if (list[i] === undefined) acc += 1;
}
ready
=== undefined(1st local)
var acc = 0;
for (var i = 0; i !== 2000; i += 1) {
  if (list[i] === undef) acc += 1;
}
ready
=== undefined(2nd local)
var acc = 0;
for (var i = 0; i !== 2000; i += 1) {
  if (list[i] === undef2) acc += 1;
}
ready
void 0
var acc = 0;
for (var i = 0; i !== 2000; i += 1) {
  if (list[i] === void 0) acc += 1;
}
ready

Revisions

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