[undefined] === true
返回false
。
if ([undefined]) {
console.log('is true')
}
将is true
打印到控制台。
这有什么意义?
答案 0 :(得分:3)
使用三个等号来确定值和类型是否相同;这就是1 == true
但1 !== true
的原因。
您的if语句尝试评估[undefined]
,但仅评估其真实性还是虚假性。 [undefined]
是一个非空数组,因此它是真实的,并且在if语句中的值为true
。但是,[undefined]
本身并不是布尔值,因此这就是[undefined] === true
评估为false的原因。
这是在解释发生了什么事情的工作:https://www.sitepoint.com/javascript-truthy-falsy/