Parsing Booleans: What's best for performance?

General Discussion
  • Most know that there are three ways of parsing booleans out of truthy / falsy values:

    var bool = !!value; // double bang
    ============================
    var bool = value ? true : false; // ternary
    ============================
    var bool = new Boolean(value); // Boolean constructor
    

    But which one of these is fastest? Well, according to this jsPerf, the ternary and double bang operational ways are almost exactly the same performance, and both are faster than the constructor method. So, you get to both gain performance and type less by using the double bang method above!

  • We mostly use !!var, but filtering an array so you can get rid of falsy values with arr = arr.filter(Boolean) is neat as well 🙂


Suggested Topics