javascript - 对象可能是“空”
问题描述
我想检查一个对象是否为空,正在做
let hostels = null;
if (hostels[0] !== null && hostels[0].name !== null) {
}
但我有这个错误:
error TS2531: Object is possibly 'null'.
解决方案
您收到此错误是因为您在对象不是数组时尝试访问数组的元素,它为空。你的支票本质上是说null[0] !== null
正如 Sourabh Somani 建议的那样,检查对象是否“虚假”应该可以解决问题
let hostels = null;
if (hostels && hostels[0] !== null && hostels[0].name !== null) {
}
“假”检查将确定您的对象是否为假值,例如:
let hostels = null;
if(hostels) { } // false
let hostels = undefined;
if(hostels) { } // false
let hostels = [];
if(hostels) { } // true
推荐阅读
- python - 无法使用 cron 运行 python 脚本
- apache-spark - 排序后如何从数据集中仅选择特定列
- c# - 为什么在这个循环中,while 条件被忽略为 n-1 值?
- c# - 右键单击系统托盘中的通知图标不显示上下文菜单
- reactjs - 连续成功触发两个 useReducer 钩子
- android - 如何将 ibm watson 语音中的扬声器标签更改为 android 中的文本 api?
- javascript - JavaScript:如何正确循环数组并将值用作键?
- amazon-web-services - Amazon DynamoDB 行级授权非唯一 ID
- graphicsmagick - gm convert:此图像格式没有解码委托
- laravel - GItLab 没有将 laravel 应用程序部署到 AWS ec2