I\'m checking if(response[0].title !== undefined)
, but I get the error:
Uncaught TypeError: Cannot read property \'title\' of undefined.<
typeof:
var foo;
if (typeof foo == "undefined"){
//do stuff
}
You must first check whether response[0]
is undefined, and only if it's not, check for the rest. That means that in your case, response[0]
is undefined.
Actually you must surround it with an Try/Catch block so your code won't stop from working. Like this:
try{
if(typeof response[0].title !== 'undefined') {
doSomething();
}
}catch(e){
console.log('responde[0].title is undefined');
}
I had trouble with all of the other code examples above. In Chrome, this was the condition that worked for me:
typeof possiblyUndefinedVariable !== "undefined"
I will have to test that in other browsers and see how things go I suppose.
Just check if response[0]
is undefined:
if(response[0] !== undefined) { ... }
If you still need to explicitly check the title, do so after the initial check:
if(response[0] !== undefined && response[0].title !== undefined){ ... }
Check if you're response[0]
actually exists, the error seems to suggest it doesn't.