de-vraag
  • Perguntas
  • Etiquetas
  • Utilizadores
Notificações
Recompensas
Inscrição
Uma vez registado, será notificado das respostas e comentários às suas perguntas.
Entrar
Se já tem uma conta, inicie sessão para verificar novas notificações.
Haverá recompensas por perguntas, respostas e comentários adicionais.
Mais
Fonte
Editar
 sheats
sheats
Question

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 2008-09-25T19:27:06+00:00 3
 Mowzer
Mowzer
Pergunta editada :em
Programação
javascript
Popular videos
3 formas seguras de acessar as propriedades do objeto em javascript sem bugar (ES2020 incluso)
3 formas seguras de acessar as propriedades do objeto em javascript sem bugar (ES2020 incluso)
há 2 anos
Remover propriedade de objeto JavaScript
Remover propriedade de objeto JavaScript
há 1 ano
Curso de JS Aula 05 Objetos em JavaScript
Curso de JS Aula 05 Objetos em JavaScript
há 8 meses
Javascript Aula 05   Objetos (Conceitos Básicos)
Javascript Aula 05 Objetos (Conceitos Básicos)
há 3 anos
Parte 11 - Criando um objeto em Javascript
Parte 11 - Criando um objeto em Javascript
há 6 anos
Curso de Javascript - #23 Objetos
Curso de Javascript - #23 Objetos
há 1 ano
Tudo é Objeto em JavaScript - Dica para iniciantes
Tudo é Objeto em JavaScript - Dica para iniciantes
há 3 anos
Curso de JavaScript #4 - Objetos parte 1/2 (2020)
Curso de JavaScript #4 - Objetos parte 1/2 (2020)
há 3 anos
Filtrando keys de objetos em Javascript
Filtrando keys de objetos em Javascript
há 3 anos
Processing + Javascript - Aula 41 – Criação de um Objeto
Processing + Javascript - Aula 41 – Criação de um Objeto
há 4 anos
Curso JavaScript do Básico ao avançado - Métodos de Objeto  #10
Curso JavaScript do Básico ao avançado - Métodos de Objeto #10
há 2 anos
COMO ADICIONAR METODOS DENTRO DE UMA VARIAVEL QUE È UM OBJETO COM JAVASCRIPT?
COMO ADICIONAR METODOS DENTRO DE UMA VARIAVEL QUE È UM OBJETO COM JAVASCRIPT?
há 11 meses
Curso de JavaScript #05 - Objetos
Curso de JavaScript #05 - Objetos
há 8 meses
Como percorrer um objeto em JavaScript (loop)
Como percorrer um objeto em JavaScript (loop)
há 1 ano
Explorando Classes em JavaScript
Explorando Classes em JavaScript
há 2 anos
« Anterior
Próximo »
Esta pergunta tem 1 resposta em inglês, para as ler iniciar sessão à sua conta.
 enobrev
enobrev
25º setembro 2008 в 7:32
2008-09-25T19:32:29+00:00
Mais
Fonte
Editar
#8510395
if (x.key !== undefined)

Armin Ronacher parece que já me venceu, mas:

Object.prototype.hasOwnProperty = function(property) {
    return this[property] !== undefined;
};

x = {'key': 1};

if (x.hasOwnProperty('key')) {
    alert('have key!');
}

if (!x.hasOwnProperty('bar')) {
    alert('no bar!');
}

Uma solução mais segura, mas mais lenta, como apontado por Konrad Rudolph e Armin Ronacher seria:

Object.prototype.hasOwnProperty = function(property) {
    return typeof this[property] !== 'undefined';
};
 Community
Community
Resposta editada :em
49
0
Armin Ronacher
Armin Ronacher
25º setembro 2008 в 7:30
2008-09-25T19:30:13+00:00
Mais
Fonte
Editar
#8510394

Sim, é :) Eu acho que você também pode fazer Object.prototype.hasOwnProperty.call(x, 'key') que também deve funcionar se x tiver uma propriedade chamada hasOwnProperty :)

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'.

15
0
 sheats
sheats
25º setembro 2008 в 7:39
2008-09-25T19:39:07+00:00
Mais
Fonte
Editar
#8510396

OK, parece que eu tinha a resposta certa, a menos que você não'não queira propriedades herdadas:

if (x.hasOwnProperty('key'))

Aqui estão algumas outras opções para incluir as propriedades herdadas:

if (x.key) // Quick and dirty, but it does the same thing as below.

if (x.key !== undefined)
Peter Mortensen
Peter Mortensen
Resposta editada :em
8
0
Comunidades relacionadas 2
JavaScript Brasil
JavaScript Brasil
7 533 utilizadores
Grupo técnico sobre Javascript. 💰 Vagas @javascriptbrvagas 🎯 Regras Sem off-topic Sem propaganda Sem ofensas, palavrões e xingamentos Sem pirataria Evite colar códigos longos 🆘 /admins Parceiros @frontendBR @GuiaDev @WebDevBR @mundoJS
Abrir telegram
JavaScript Brasil Vagas
JavaScript Brasil Vagas
2 667 utilizadores
Canal para divulgação de vagas relacionadas à linguagem de programação JavaScript (e tecnologias afins). Vagas de TypeScript: https://t.me/typescriptbr Participe do nosso grupo sobre JS: @javascriptbr
Abrir telegram
Adicionar pergunta
Categorias
Todos
Tecnologia
Cultura / Recreação
Vida / Artes
Ciência
Profissional
Negócios
Utilizadores
Todos
Novo
Popular
1
mohidil qodirova
Registrado há 20 horas
2
Jasur Fozilov
Registrado há 1 dia
3
Zuxriddin Muydinov
Registrado há 2 dias
4
Денис Анненский
Registrado há 4 dias
5
365
Registrado há 1 semana
BG
DA
DE
EL
ES
FR
ID
IT
JA
KO
NL
PT
RU
TR
ZH
© de-vraag 2022
Fonte
stackoverflow.com
sob licença cc by-sa 3.0 com atribuição