[undefined] === true
返回 false
。
if ([undefined]) {
console.log('is true')
}
将is true
打印到控制台。
这有什么意义?
最佳答案
使用三个等号用于判断值和类型是否相同;这就是为什么 1 == true
但 1 !== true
。
您的 if 语句尝试评估[undefined]
,但仅限于它是真还是假。 [undefined]
是一个非空数组,因此它是 true,并且在 if 语句中计算结果为 true
。但是,[undefined]
本身并不是 bool 值,因此这就是 [undefined] === true
计算结果为 false 的原因。
这可以解释正在发生的事情:https://www.sitepoint.com/javascript-truthy-falsy/
关于javascript - 如果测试[未定义],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53231293/