Equality operators with the same types

JavaScript performance comparison

Revision 4 of this test case created by Kyle Simpson

Info

Test for == and === with the same operand types.

Preparation code

<script>
  var foo = 12,
      bar = 12,
      baz = "12";
</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
Non-strict equal
foo == bar;
pending…
Strict equal
foo === bar;
pending…
different types, coercion
foo == baz;
pending…
different types, no coercion
foo === baz;
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:

1 comment

John-David Dalton commented :

By spec (here and here) both == and === should perform the same number of steps when comparing like type values.

The point of this test is to show that even though there are micro differences there is no real world performance concern for using === over == as the lowest ops/sec are still in the millions of operations a second. You should use the correct operator for the job.

Add a comment