Run details:
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
Mac OS X 10.15.7
Desktop
3 years ago
Test name Executions per second
Object.prototype.hasOwnProperty 4189001.0 Ops/sec
Object in 5519183.0 Ops/sec
Array.indexOf 1088871.1 Ops/sec
direct 5581476.0 Ops/sec
Array includes 1091575.6 Ops/sec
Set has 6293361.0 Ops/sec
Script Preparation code:
AخA
 
  var object = {},
      array = [],
      set = new Set(),
      i, test = 1000;
  
  for (i = 0; i < 1000; i++) {
   object['something' + i] = true;
   array.push('something' + i);
   set.add('something' + i);
  }
Tests:
  • Object.prototype.hasOwnProperty

     
    Object.prototype.hasOwnProperty.call(object, 'something' + test)
  • Object in

     
    ('something' + test) in object
  • Array.indexOf

     
    array.indexOf('something' + test) !== -1
  • direct

     
    object['something' + test] === true
  • Array includes

     
    array.includes('something' + test)
  • Set has

     
    set.has('something' + test)