test1b vs test2b vs test1a vs test2a

Edit on GitHub

Setup

x = {a:[1, 2, 3, 4], b:null};

Tests

  • test1b

    if (x.b != null) {
      for (var i = 0; i < x.b.length; i++) {
        console.log(1);
      }
    }
  • test2b

    x.b = x.b || [];
    for (var i = 0; i < x.b.length; i++) {
      console.log(1);
    }
  • test1a

    if (x.a != null) {
      for (var i = 0; i < x.a.length; i++) {
        console.log(1);
      }
    }
  • test2a

    x.a = x.a || [];
    for (var i = 0; i < x.a.length; i++) {
      console.log(1);
    }