Script Preparation code:
x
 
foo = {
    bar: {
        baz: {
            qux: {
                aaa: {
                    bbb: {
                        ccc: {
                            ddd: {
                                eee: {
                                    fff: 123
                                }
                            }
                        }
                    }
                }
            }
        }
    }
};
Tests:
  • Optional Chaining

     
    foo?.bar?.baz?.qux?.aaa
  • Native

     
    foo && foo.bar && foo.bar.baz && foo.bar.baz.qux && foo.bar.baz.qux.aaa 
  • babel-loader

     
        (_foo = foo) === null || _foo === void 0 ? void 0 : (_foo$bar = _foo.bar) === null || _foo$bar === void 0 ? void 0 : (_foo$bar$baz = _foo$bar.baz) === null || _foo$bar$baz === void 0 ? void 0 : (_foo$bar$baz$qux = _foo$bar$baz.qux) === null || _foo$bar$baz$qux === void 0 ? void 0 : _foo$bar$baz$qux.aaa;
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Optional Chaining
    Native
    babel-loader

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36
Chrome 95 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Optional Chaining 7981397.5 Ops/sec
Native 1522443.6 Ops/sec
babel-loader 496223.1 Ops/sec