Checking for undefined: double equals vs triple equals

JavaScript performance comparison

Revision 2 of this test case created by Eamon Nerbonne

Preparation code

<script>
var OK=false;
var foo;
</script>
<script>
Benchmark.prototype.teardown = function() {
    if(!OK) throw "wrong output!";
};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
double
OK = typeof window.foo == 'undefined';
 
pending…
triple
OK = typeof window.foo === 'undefined';
 
pending…
direct double (bad!)
OK =  window.foo == undefined;
 
pending…
direct triple
OK = window.foo === undefined;
 
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment