title: Why is checking void 0 so much faster than checking undefined?
body: <p>I noticed something interesting after using gulp-uglify on my concatenated javascript. I was passing in <code>undefined</code> to a global IIFE wrapper and I saw that it was changing it to <code>void 0</code>. What the heck is void 0? I ran it in the console and it returned undefined. Interesting! This got me curious, so I started running tests on void 0. In my console tests (simple loops and timestamps), I have observed as much as a 180x speed increase, depending on browser, checking <code>void 0</code> instead of <code>undefined</code>. Does anyone know why checking void 0 is so much faster?</p>
  
  <pre><code>(function(start, x, z){
      for (var i=0; i&lt;z; i++){
        if (x === undefined){}
      }
      console.info('t1 ', Date.now() - start);
      start = Date.now();
      for (var i=0; i&lt;z; i++){
        if (x === void 0){}
      }
      console.info('t1 ', Date.now() - start);
  })(Date.now(), '', 1e6)
  </code></pre>