Estoy comprobando if(response[0].title !== undefined)
, pero recibo el error:
TypeError no capturado: no se puede leer la propiedad 'title' de undefined.
javascript
undefined
Raimonds
fuente
fuente
Respuestas:
response[0]
no está definido, verifique si está definido y luego verifique el título de su propiedad.fuente
undefined
no es una palabra clave de JavaScript (aunque todos parecen pensar que sí). Si lo desea, puede crear una variable llamadaundefined
y luego esta verificación será incorrecta. La única forma correcta es verificar(typeof myVar !== 'undefined')
.undefined
?Solo verifique si
response[0]
no está definido:Si aún necesita verificar explícitamente el título, hágalo después de la verificación inicial:
fuente
Tuve problemas con todos los otros ejemplos de código anteriores. En Chrome, esta fue la condición que funcionó para mí:
Tendré que probar eso en otros navegadores y ver cómo van las cosas, supongo.
fuente
undefined
tenía que ser una cuerda.En realidad, debe rodearlo con un bloque Try / Catch para que su código no deje de funcionar. Me gusta esto:
fuente
tipo de:
fuente
Será porque
response[0]
no está definido.fuente
Comprueba si
condition == null
; Resolverá el problemafuente
Compruebe si
response[0]
realmente existe, el error parece sugerir que no.fuente
Primero debe verificar si
response[0]
está indefinido, y solo si no lo está, verifique el resto. Eso significa que en su caso,response[0]
está indefinido.fuente
Sé que fui aquí con 7 meses de retraso, pero encontré estas preguntas y parece interesante. Intenté esto en la consola de mi navegador.
Si la variable x no está definida, se detecta el error y será falso; de lo contrario, se devolverá verdadero. Por lo tanto, puede usar la función eval para establecer el valor en una variable
fuente
En algunas de estas respuestas hay un malentendido fundamental sobre cómo usarlo
typeof
.Incorrecto
Correcto
La razón es que
typeof
devuelve una cadena. Por lo tanto, debe verificar que haya devuelto la cadena "indefinida" en lugar deundefined
(no entre comillas), que es uno de los tipos primitivos de JavaScript . Eltypeof
operador nunca devolverá un valor de tipoundefined
.Apéndice
Su código podría funcionar técnicamente si usa la comparación incorrecta, pero probablemente no por la razón que cree. No hay una
undefined
variable preexistente en JavaScript: no es una especie de palabra clave mágica con la que se pueda comparar. En realidad, puede crear una variable llamadaundefined
y darle el valor que desee.Y aquí hay un ejemplo de cómo puede usar esto para demostrar que el primer método es incorrecto:
https://jsfiddle.net/p6zha5dm/
fuente