Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Whale/3.18.154.8 Safari/537.36
Chrome 108
Mac OS X 10.15.7
Desktop
one year ago
Test name Executions per second
Destructuring assignment on full object 13953876.0 Ops/sec
Lodash get() on full object 2370932.0 Ops/sec
Destructuring assignment on empty object 13812734.0 Ops/sec
Lodash get() on empty object 2556756.5 Ops/sec
HTML Preparation code:
AخA
 
1
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Script Preparation code:
x
 
var fullObject = {
  a: {
    b: {
      c: 'value'
    }
  }
}
var emptyObject = {}
Tests:
  • Destructuring assignment on full object

     
    var { a } = fullObject || {}
    var { b } = a || {}
    var { c } = b || {}
  • Lodash get() on full object

     
    var c = _.get(fullObject, 'a.b.c')
  • Destructuring assignment on empty object

     
    var { a } = emptyObject || {}
    var { b } = a || {}
    var { c } = b || {}
  • Lodash get() on empty object

     
    var c = _.get(emptyObject, 'a.b.c')