Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
Direct vs optional chaining
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Browser:
Chrome 120
Operating system:
Windows
Device Platform:
Desktop
Date tested:
2 years ago
Benchmark engine:
Benchmark.js
detail1 optional
12.1M/s
detail3 optional
11.8M/s
detail1 direct
11.6M/s
detail2 optional
6.5M/s
detail3 direct
6.4M/s
detail2 direct
4.4M/s
View exact numbers
Test name
Executions per second
✓
detail1 optional
12,111,548 Ops/sec
detail3 optional
11,777,348 Ops/sec
detail1 direct
11,609,868 Ops/sec
detail2 optional
6,474,130 Ops/sec
detail3 direct
6,398,138 Ops/sec
detail2 direct
4,420,010 Ops/sec
Script Preparation code:
var detail1 = null var detail2 = {prop1: 'asdf', prop2: null} var detail3 = {prop1: null, prop2: 'asdf'}
Tests:
detail1 direct
let y = detail1 && detail1.prop1 && detail1.prop2
detail1 optional
let y = detail1?.prop1 && detail1?.prop2
detail2 direct
let y = detail2 && detail2.prop1 && detail2.prop2
detail2 optional
let y = detail2?.prop1 && detail2?.prop2
detail3 direct
let y = detail3 && detail3.prop1 && detail3.prop2
detail3 optional
let y = detail3?.prop1 && detail3?.prop2