Uninitialized Js Var
by HugeHugh
JavaScript
// the var debug1 is not defined before now
try {
debug1 && alert('debug1-ok');
} catch (e) {
// it causes an error to reference it
alert('debug1-err');
}
// this is the type of check that would need to be used
if (typeof debug1 === "undefined") {
alert('debug1-undefined');
}
// debug2 is defined
try {
var debug2;
// yet debug2 is not truthy, this doesn't do either alert
debug2 && alert('debug2-ok');
} catch (e) {
alert('debug2-err');
}
// debug3 is defined and truthy, only case to alert
try {
var debug3 = 1;
debug3 && alert('debug3-ok');
} catch (e) {
alert('debug3-err');
}
// press the Run button above to try it again