pipe or vs shortcut or

JavaScript performance comparison

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

Preparation code

Benchmark.prototype.setup = function() {
    var nothing = 0;
    var something = 1;
    var undef = undefined;

Test runner

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

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
Pipe or
var foo = nothing || something;
var bar = undef || something
var zaz = something || something;
Shortcut if
var foo = nothing ? nothing : something;
var bar = undef ? undef : something
var zaz = something ? something : something;
default value
var foo = something;
if (nothing) {
  foo = nothing;
var bar = something;
if (undef) {
  bar = undef;
var zaz = something;
if (something) {
  zaz = something;

Compare results of other browsers


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:


Comment form temporarily disabled.

Add a comment