Altro
Come posso controllare se un oggetto ha una proprietà specifica in JavaScript?
Come posso controllare se un oggetto ha una proprietà specifica in JavaScript?
Considera:
x = {'key': 1};
if ( x.hasOwnProperty('key') ) {
//Do this
}
È il modo migliore per farlo?
1386
3
Armin Ronacher sembra avermi già battuto, ma:
Una soluzione più sicura, ma più lenta, come indicato da Konrad Rudolph e Armin Ronacher sarebbe:
Sì, lo è :) Penso che puoi anche fare
Object.prototype.hasOwnProperty.call(x, 'key')
che dovrebbe anche funzionare sex
ha una proprietà chiamatahasOwnProperty
:)Ma questo verifica le proprietà proprie. Se vuoi controllare se ha una proprietà che può anche essere ereditata puoi usare
typeof x.foo != 'undefined'
.OK, sembra che io abbia avuto la risposta giusta, a meno che tu non voglia proprietà ereditate:
Ecco alcune altre opzioni per includere le proprietà ereditate: