Boolean constructor vs double negotiation trick in javascript
Date tested:
3 years ago
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Test name
Executions per second
Boolean
1145400.2 Ops/sec
Double negation trick
3137414.8 Ops/sec
Benchmark definition (click to collapse):
Script Preparation code:
var bFalse = false; var sEmpty = ''; var sFilled = 'Foo'; var nZero = 0; var nOne = 1;
Tests:
Boolean
Boolean(bFalse) Boolean(sEmpty) Boolean(sFilled) Boolean(nZero) Boolean(nOne)
Double negation trick
!!bFalse !!sEmpty !!sFilled !!nZero !!nOne
Open this result on MeasureThat.net