- 代码:**
if (content.context_data.custom_topic === undefined) {
console.log('doesnt work');
}
以及
if (typeof response[0] !== 'undefined' && typeof response[0].title !== 'undefined') {
console.log("Inside if")
}
- 错误:**
source_code. js:71未捕获的类型错误:无法读取空值的属性"custom_topic
我想检查一下content.contect_data.custom_topic
是否可用。我已经搜索了很多Stackoverflow,但是我发现的每个变体似乎都不起作用。
我希望创建如下内容:
if(content.context_data.custom_topic !== undefined)
{
var custom_topic = content.context_data.custom_topic;
}
注意:我必须使用原生JS。
3条答案
按热度按时间qhhrdooz1#
您可以将其检查为:
ijnw1ujt2#
如果你想检查一个
object
的属性,你必须同时检查它的父属性,因为如果父属性是undefined
,那么你的代码将抛出一个错误。或者,您可以保留
undefined
,并像这样将其链接起来或者,您可以创建一个算法,该算法需要
object
和属性名称(例如custom_topic
),并返回boolean
(无论它是否存在)。但很明显,如果你不使用一次以上的算法,你就不需要它。
abithluo3#
因为context_data可以为空,所以可以使用optional chaining