JavaScript: verificare se una proprietà esiste in un oggetto

JavaScript: verificare se una proprietà esiste in un oggetto

In JavaScript ci sono vari modi per verificare se una proprietà esiste in un oggetto.

Il primo modo è verificare se la proprietà è undefined:


'use strict';

const obj = {
  a: 1,
  b: 2,
  c: true
};

if(obj.a) {
    //...
}

Possiamo anche usare in tal senso l'operatore typeof nei seguenti modi:


'use strict';

const obj = {
  a: 1,
  b: 2,
  c: true
};

if(typeof obj.a !== 'undefined') {
    //...
}
if(typeof obj.a === 'number') {
    //...
}

L'altro modo è usare l'operatore in:


'use strict';

const obj = {
  a: 1,
  b: 2,
  c: true
};

if(a in obj) {
    //...
}

Questo operatore prende in considerazione la proprietà prototype dell'oggetto esaminato. Se non vogliamo considerare questa proprietà, possiamo usare il metodo hasOwnProperty():


'use strict';

const obj = {
  a: 1,
  b: 2,
  c: true
};

if(obj.hasOwnProperty('a')) {
    //...
}

Torna su