这个javascript控制台日志让我很困惑。 如果在if语句中将具有值-1的x评估为真,那么它在前面的行之前是假的吗?感谢
x = -1
-1
x == true
false
if(x){console.log('yes')}
yes
答案 0 :(得分:1)
当你在if语句中测试x
时,你不会检查x
是否属实,你是否正在检查x
是否真实。 javascript中的真实性规则是:
空字符串是假的。所有其他字符串都是真实的。
0
和NaN
是假的。所有其他数字都是真实的。
所有对象和数组都是真实的。
null
和undefined
是假的。
答案 1 :(得分:0)
if(-1){console.log('yes')}
在控制台中打印“是”,因为 -1 ,除 0 以外的其他数字是 truthey 值,尽管 -1 不等于 true 。
Here是扩展与javascript truthey和falsey值相关的知识的良好来源。