Run details:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Chrome 120
Linux
Desktop
one year ago
Test name Executions per second
Using the spread operator 38545340.0 Ops/sec
Using Object.assign 10769090.0 Ops/sec
Using Object.assign no mutation 8661344.0 Ops/sec
Tests:
  • Using the spread operator

    AخA
     
    const firstObject = { sampleData: 'Hello world' }
    const secondObject = { moreData: 'foo bar' }
    const finalObject = {
        ...firstObject,
        ...secondObject
    };
  • Using Object.assign

     
    const firstObject = { sampleData: 'Hello world' }
    const secondObject = { moreData: 'foo bar' }
    const finalObject = Object.assign(firstObject, secondObject);
  • Using Object.assign no mutation

     
    const firstObject = { sampleData: 'Hello world' }
    const secondObject = { moreData: 'foo bar' }
    const finalObject = Object.assign({}, firstObject, secondObject);