Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36
Chrome 87
Windows
Desktop
4 years ago
Test name Executions per second
== 3663.1 Ops/sec
arr to bool 5.1 Ops/sec
bool to bool 3672.3 Ops/sec
obj to bool 10.1 Ops/sec
=== str with number 3648.3 Ops/sec
== str with number 34.3 Ops/sec
=== str with str 3662.8 Ops/sec
str to bool 31.1 Ops/sec
== str with str 3640.3 Ops/sec
=== null 3651.9 Ops/sec
== null 3662.3 Ops/sec
== true 3639.4 Ops/sec
=== str 3673.0 Ops/sec
== str 140.8 Ops/sec
=== 3659.5 Ops/sec
=== true 3627.4 Ops/sec
null to bool 3643.3 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;
    }