Pregunta ¿Cómo puedo verificar si un objeto tiene una clave en JavaScript? [duplicar]


Esta pregunta ya tiene una respuesta aquí:

¿Qué es lo correcto?

if (myObj['key'] == undefined)

o

if (myObj['key'] == null)

o

if (myObj['key'])

686
2018-01-18 15:42


origen


Respuestas:


Prueba el JavaScript en operador.

if ('key' in myObj)

Y lo inverso.

if (!('key' in myObj))

¡Ten cuidado! los in el operador combina todas las claves de objetos, incluidas las de la cadena de prototipos del objeto.

Utilizar myObj.hasOwnProperty('key') para verificar las propias claves de un objeto y solo devolverá true Si key está disponible en myObj directamente:

myObj.hasOwnProperty('key')

A menos que tenga una razón específica para usar el in operador, utilizando myObj.hasOwnProperty('key') produce el resultado que la mayoría del código está buscando.


1212
2018-01-18 16:03



Deberías usar hasOwnProperty. Por ejemplo:

myObj.hasOwnProperty('myKey');

331
2018-01-18 15:44