如果测试 [undefined]
if test on [undefined]
[undefined] === true
returns false
.
if ([undefined]) {
console.log('is true')
}
将 is true
打印到控制台。
这有什么意义?
使用三个等号来判断值和类型是否相同;这就是 1 == true
但 1 !== true
.
的原因
您的 if 语句试图评估 [undefined]
,但仅限于它是真还是假。 [undefined]
是一个非空数组,因此它是真值,并且在 if 语句中计算为 true
。但是,[undefined]
本身不是布尔值,所以这就是 [undefined] === true
计算结果为 false 的原因。
这在一定程度上解释了正在发生的事情:https://www.sitepoint.com/javascript-truthy-falsy/
[undefined] === true
returns false
.
if ([undefined]) {
console.log('is true')
}
将 is true
打印到控制台。
这有什么意义?
使用三个等号来判断值和类型是否相同;这就是 1 == true
但 1 !== true
.
您的 if 语句试图评估 [undefined]
,但仅限于它是真还是假。 [undefined]
是一个非空数组,因此它是真值,并且在 if 语句中计算为 true
。但是,[undefined]
本身不是布尔值,所以这就是 [undefined] === true
计算结果为 false 的原因。
这在一定程度上解释了正在发生的事情:https://www.sitepoint.com/javascript-truthy-falsy/