pipe or vs shortcut or

JavaScript performance comparison

Revision 4 of this test case created by Gabriel R. Giannattasio

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    var nothing = 0;
    var something = 1;
    var undef = undefined;
};
</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
Bitwise OR
var foo = nothing | something;
var bar = undef | something;
var zaz = something | something;
// Bitwise or will get the wrong value result!
// Ex:
// var some = null | {};
// some === 1;
// var some = 20 | 33;
// some === 53;
// Don't use it for definitions, only for calc maths.
pending…
Pipe or
var foo = nothing || something;
var bar = undef || something;
var zaz = something || something;
pending…
Shortcut if
var foo = nothing ? nothing : something;
var bar = undef ? undef : something;
var zaz = something ? something : something;
pending…
default value
var foo = something;
if (nothing) {
  foo = nothing;
}
var bar = something;
if (undef) {
  bar = undef;
}
var zaz = something;
if (something) {
  zaz = something;
}
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