Saltar al contenido

Cómo determinar si un objeto tiene una propiedad determinada en JavaScript

Nuestros mejores programadores agotaron sus reservas de café, buscando noche y día por la resolución, hasta que Aurora halló la contestación en GitLab así que en este momento la compartimos contigo.

Solución:

El objeto tiene propiedad:

Si está probando propiedades que están en el objeto en sí (que no son parte de su cadena de prototipos), puede usar .hasOwnProperty():

if (x.hasOwnProperty('y'))  
  // ......

El objeto o su prototipo tiene una propiedad:

Puedes usar el in operador para probar las propiedades que también se heredan.

if ('y' in x) 
  // ......

Si quieres saber si el objeto físicamente contiene la propiedad @ gnarf’s answer usando hasOwnProperty hará el trabajo.

Si desea saber si la propiedad existe en algún lugar, ya sea en el objeto en sí o en la cadena del prototipo, puede usar el in operador.

if ('prop' in obj) 
  // ...

P.ej.:

var obj = ;

'toString' in obj == true; // inherited from Object.prototype
obj.hasOwnProperty('toString') == false; // doesn't contains it physically

Underscore.js o Lodash

if (_.has(x, "y")) ...

🙂

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *