javascript - 如何防止 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 中。
有没有更清洁/更快/更智能的方法来做到这一点?
解决方案
利用
try{
if(response.data.variable_to_check!==undefined){
console.log("undefined");
}
}
catch(err){console.log(err.message)}
推荐阅读
- sql - SQL:如何将 STRING 字段替换/限制为两个可能的值?
- sql-server - MsSql - 几个表上的非聚集索引
- python-3.x - 熊猫滚动窗口获得最小值
- c# - 如何在实体框架数据库第一个模型连接字符串中动态包含工作站 ID?
- docker - 使用 Docker-Compose 文件运行 Docker 容器时的工作目录
- python - 我正在使用 selenium 进行网络爬取,但获取 url 时出现语法错误,请帮助我找到原因
- ruby-on-rails - 如何在 ruby rails 中使用某些 curl
- python - 电子邮件客户端无法添加第二个收件人
- reactjs - 检索先前的 setState 并访问外部变量
- opencv - 我想构建一个程序,在该程序中我想识别视频中的人脸选择特定的人脸并将蒙版应用于选定的人脸