"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo comprobar la existencia de propiedades de objetos dinámicos en JavaScript?

¿Cómo comprobar la existencia de propiedades de objetos dinámicos en JavaScript?

Publicado el 2024-11-08
Navegar:462

How to Check for Dynamic Object Property Existence in JavaScript?

Comprobación de la existencia de la propiedad del objeto con un nombre de propiedad dinámico

En programación, a menudo es necesario comprobar si un objeto tiene una propiedad particular, incluso cuando el nombre de la propiedad se determina dinámicamente. Para lograr esto en JavaScript, podemos aprovechar varias técnicas.

Método 1: usar hasOwnProperty

El método hasOwnProperty devuelve un valor booleano que indica si la propiedad especificada está presente en el objeto en sí, excluyendo las propiedades heredadas. Para verificar el nombre de una propiedad almacenada en una variable, podemos usar:

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

Método 2: uso del operador "in"

El operador "in" verifica si existe una propiedad en el objeto mismo o en su cadena de prototipo. Para verificar un nombre de propiedad dinámica, podemos usar:

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

Método 3: Operador "in" simplificado

Si el nombre de la propiedad se conoce en el momento de la compilación, podemos simplificar el uso del operador "in":

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

Nota:

  • hasOwnProperty no considera propiedades heredadas, mientras que "in" sí.
  • Para propiedades que pueden heredarse , usar "en" puede ser más apropiado.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3