Boolean constructor vs double negotiation trick in javascript
Date tested:
4 years ago
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36
Test name
Executions per second
Boolean
1064554.0 Ops/sec
Double negation trick
3418678.5 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