"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como verificar a existência de propriedade de objeto dinâmico em JavaScript?

Como verificar a existência de propriedade de objeto dinâmico em JavaScript?

Publicado em 2024-11-08
Navegar:367

How to Check for Dynamic Object Property Existence in JavaScript?

Verificando a existência de uma propriedade de objeto com um nome de propriedade dinâmica

Na programação, muitas vezes é necessário verificar se um objeto tem uma propriedade específica, mesmo quando o nome da propriedade é determinado dinamicamente. Para conseguir isso em JavaScript, podemos aproveitar várias técnicas.

Método 1: usando hasOwnProperty

O método hasOwnProperty retorna um booleano indicando se a propriedade especificada está presente no objeto em si, excluindo propriedades herdadas. Para verificar o nome de uma propriedade armazenada em uma variável, podemos usar:

var myProp = 'prop';
if(myObj.hasOwnProperty(myProp)){
    // Property exists
}

Método 2: Usando o operador "in"

O operador "in" verifica se existe uma propriedade no próprio objeto ou em sua cadeia de protótipo. Para verificar o nome de uma propriedade dinâmica, podemos usar:

var myProp = 'prop';
if(myProp in myObj){
    // Property exists
}

Método 3: Operador "in" simplificado

Se o nome da propriedade for conhecido em tempo de compilação, podemos simplificar o uso do operador "in":

if('prop' in myObj){
    // Property exists
}

Observação:

  • hasOwnProperty não considera propriedades herdadas, enquanto "in" considera.
  • Para propriedades que podem ser herdadas , usar "in" pode ser mais apropriado.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3