Я не вижу этой проблемы.
Я это представляю примерно так
function isExist(someVar) {
let exist = true;
try {
if (someVar) {}
}
catch(e) {
exist = false;
}
return exist;
}
if (isExist(a)) { // <= здесь возникает ошибка, если переменной не существует, вот в чем проблема этого представления
// какой-то важный код
}
Я это представляю примерно так