Mais
Como posso verificar se um objeto tem uma propriedade específica em JavaScript?
Como posso verificar se um objeto tem uma propriedade específica em JavaScript?
Considere:
x = {'key': 1};
if ( x.hasOwnProperty('key') ) {
//Do this
}
Essa é a melhor maneira de o fazer?
1386
3
Armin Ronacher parece que já me venceu, mas:
Uma solução mais segura, mas mais lenta, como apontado por Konrad Rudolph e Armin Ronacher seria:
Sim, é :) Eu acho que você também pode fazer
Object.prototype.hasOwnProperty.call(x, 'key')
que também deve funcionar sex
tiver uma propriedade chamadahasOwnProperty
:)Mas isso testa as próprias propriedades. Se você quiser verificar se ele tem uma propriedade que também pode ser herdada você pode usar
typeof x.foo != 'undefined'
.OK, parece que eu tinha a resposta certa, a menos que você não'não queira propriedades herdadas:
Aqui estão algumas outras opções para incluir as propriedades herdadas: