首页 > 解决方案 > 如何防止 TypeError 空白未定义?

问题描述

当目标位于对象深处时,是否有更简单的方法来检查 JavaScript 中是否定义了变量?例如。

// Lets assume this: 
response = {
   status: "simple-message"
}

// running this:
if (response.data.variable_to_check !== undefined) console.log('undefined');
// will result in this:
> TypeError: response.data is undefined

在 PHP 中,我可以运行等效的检查:

if (!($response->data->variable_to_check ?? false)) die("Handled Undefined Error");
// will result in this:
> Handled Undefined Error

我知道我可以通过检查从根开始的每个项目来手动迭代以查看它是否已定义,但这似乎很乏味。那并将所有内容都包装在 try/catch 中。

有没有更清洁/更快/更智能的方法来做到这一点?

标签: javascripterror-handlingundefinedtypeerror

解决方案


利用

try{
if(response.data.variable_to_check!==undefined){
console.log("undefined");
}
}
catch(err){console.log(err.message)}

推荐阅读