typeof(nonexistingobj)
返回“未定义”但
typeof(nonexistingobj.nonexistentproperty)
不会像我预期的那样生成“未定义”,而是称为参考错误- 我如何检测到这一点?
我正在尝试对 API 的响应进行子属性检测。(具体来说,API 返回一个子对象data.paging.next
,当有另一页 API 结果要获取时调用,但如果它只返回最后一页,则没有“下一个”子对象)。
typeof(nonexistingobj)
返回“未定义”但
typeof(nonexistingobj.nonexistentproperty)
不会像我预期的那样生成“未定义”,而是称为参考错误- 我如何检测到这一点?
我正在尝试对 API 的响应进行子属性检测。(具体来说,API 返回一个子对象data.paging.next
,当有另一页 API 结果要获取时调用,但如果它只返回最后一页,则没有“下一个”子对象)。
不要尝试访问undefined
. 测试是否首先定义了您尝试访问的变量。
if (typeof obj !== "undefined") {
typeof obj.nonexistentproperty;
}
要捕获错误,您可以使用 try/catch:
try {
console.log(typeof nonexistingobj.nonexistentproperty);
} catch (error) {
console.log('Message error: ' + error.message);
}