Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36
Chrome 88
Mac OS X 10.14.0
Desktop
4 years ago
Test name Executions per second
== 1342.6 Ops/sec
arr to bool 4.0 Ops/sec
bool to bool 1190.7 Ops/sec
obj to bool 4.6 Ops/sec
=== str with number 1309.6 Ops/sec
== str with number 27.0 Ops/sec
=== str with str 1412.0 Ops/sec
str to bool 26.1 Ops/sec
== str with str 1414.0 Ops/sec
=== null 1392.8 Ops/sec
== null 1379.4 Ops/sec
== true 1251.4 Ops/sec
=== str 1200.6 Ops/sec
== str 67.2 Ops/sec
=== 1335.6 Ops/sec
=== true 1361.8 Ops/sec
null to bool 1548.9 Ops/sec
Tests:
  • ==

    AخA
     
    for (let a = 0; a < 1_000_000; a++) {
        a == 1;
    }
  • ===

     
    for (let a = 0; a < 1_000_000; a++) {
        a === 1;
    }
  • == str

     
    for (let a = 0; a < 1_000_000; a++) {
        a == '1';
    }
  • === str

     
    for (let a = 0; a < 1_000_000; a++) {
        a === '1';
    }
  • == true

     
    for (let a = 0; a < 1_000_000; a++) {
        a == true;
    }
  • == null

     
    for (let a = 0; a < 1_000_000; a++) {
        a == null;
    }
  • === null

     
    for (let a = 0; a < 1_000_000; a++) {
        a === null;
    }
  • === true

     
    for (let a = 0; a < 1_000_000; a++) {
        a === true;
    }
  • == str with str

     
    for (let a = 0, b = ''; a < 1_000_000; a++) {
        b == '0';
    }
  • === str with str

     
    for (let a = 0, b = ''; a < 1_000_000; a++) {
        b === '0';
    }
  • == str with number

     
    for (let a = 0, b = ''; a < 1_000_000; a++) {
        b == 0;
    }
  • === str with number

     
    for (let a = 0, b = ''; a < 1_000_000; a++) {
        b === 0;
    }
  • obj to bool

     
    for (let a = 0, b = {}; a < 1_000_000; a++) {
        b == true;
    }
  • bool to bool

     
    for (let a = 0, b = false; a < 1_000_000; a++) {
        b == true;
    }
  • arr to bool

     
    for (let a = 0, b = []; a < 1_000_000; a++) {
        b == true;
    }
  • str to bool

     
    for (let a = 0, b = ''; a < 1_000_000; a++) {
        b == true;
    }
  • null to bool

     
    for (let a = 0, b = null; a < 1_000_000; a++) {
        b == true;
    }
  • null == undefined

     
    for (let a = 0, b = null; a < 1_000_000; a++) {
        b == undefined;
    }
  • undefined == null

     
    for (let a = 0, b = undefined; a < 1_000_000; a++) {
        b == null;
    }