Run details:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36
Chrome 96
Linux
Desktop
3 years ago
Test name Executions per second
Direct Assignment 884.6 Ops/sec
Object.assign 171.5 Ops/sec
test direct assignment 5293.6 Ops/sec
test direct assignment second approach 767.6 Ops/sec
Script Preparation code:
AخA
 
var data = {};
Tests:
  • Direct Assignment

     
    for(var i = 0; i < 10000; i++)
    {
       data[`prop_${i}`] = true;
    }
  • Object.assign

     
    for(var i = 0; i < 10000; i++)
    {
      var propName = `prop_${i}`;
      Object.assign(data, { [propName]: true });
    }
  • test direct assignment

     
      data = Object.fromEntries(
        Array(10000)
          .fill(true)
          .map((value, index) => [index, value]),
      )
  • test direct assignment second approach

     
    Object.assign(data, Object.fromEntries(
        Array(10000)
          .fill(true)
          .map((value, index) => [index, value]),
      ))