quitar - Probar si algo no está indefinido en JavaScript
variable null javascript (10)
Compruebe si la condition == null
; Se resolverá el problema
Estoy comprobando if(response[0].title !== undefined)
, pero me sale el error:
No se detectó TypeError: no se puede leer la propiedad ''título'' de undefined.
En realidad, debe rodearlo con un bloque Try / Catch para que su código no deje de funcionar. Me gusta esto:
try{
if(typeof response[0].title !== ''undefined'') {
doSomething();
}
}catch(e){
console.log(''responde[0].title is undefined'');
}
Primero debe verificar si la response[0]
no está definida, y solo si no lo está, verifique el resto. Eso significa que en su caso, la response[0]
no está definida.
Sé que fui aquí 7 meses tarde, pero encontré estas preguntas y parece interesante. He intentado esto en la consola de mi navegador.
try{x,true}catch(e){false}
Si la variable x no está definida, el error se detecta y será falso, si no, devolverá verdadero. Así que puedes usar la función eval para establecer el valor en una variable
var isxdefined = eval(''try{x,true}catch(e){false}'')
Será porque la response[0]
sí no está definida.
Solo verifica si la response[0]
es indefinida:
if(response[0] !== undefined) { ... }
Si aún necesita verificar explícitamente el título, hágalo después de la verificación inicial:
if(response[0] !== undefined && response[0].title !== undefined){ ... }
Tuve problemas con todos los otros ejemplos de código anteriores. En Chrome, esta fue la condición que funcionó para mí:
typeof possiblyUndefinedVariable !== "undefined"
Tendré que probar eso en otros navegadores y ver cómo van las cosas, supongo.
Verifique si su response[0]
realmente existe, el error parece sugerir que no.
tipo de:
var foo;
if (typeof foo == "undefined"){
//do stuff
}
response[0]
no está definida, verifique si está definida y luego verifique el título de su propiedad.
if(typeof response[0] !== ''undefined'' && typeof response[0].title !== ''undefined''){
//Do something
}