Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Chrome 91
Mac OS X 10.15.7
Desktop
3 years ago
Test name Executions per second
lodash merge 598884.6 Ops/sec
object.assign 5644771.5 Ops/sec
spread 2289526.2 Ops/sec
HTML Preparation code:
x
 
1
2
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Tests:
  • lodash merge

     
    var defaultOptions = {
      headers: {
        'content-type': 'application/json',
        'user-agent': 'super-app',
      }
    };
    var options = { headers: {'content-type': 'application/xml' }, data: { 'key': 'value' } };
    var result = _.merge(defaultOptions, options);
  • object.assign

     
    var defaultOptions = {
      headers: {
        'content-type': 'application/json',
        'user-agent': 'super-app',
      }
    };
    var options = { headers: { 'content-type': 'application/xml' }, data: { 'key': 'value' } };
    var result = Object.assign(defaultOptions, options);
  • spread

     
    var defaultOptions = {
      headers: {
        'content-type': 'application/json',
        'user-agent': 'super-app',
      }
    };
    var options = { headers: { 'content-type': 'application/xml' }, data: { 'key': 'value' } };
    var result = { ...defaultOptions, ...options };