var x = 'x' x-'m'||console.log('True 1') // logs True, should be falsevar x = '2' x-2||console.log('True 2') // logs Truevar x = '3' x-2||console.log('True 3') // logs False为什么如果其他速记在使用字符串时总是返回 true?如何修复?我从这里学到了这一点
1 回答
LEATH
TA贡献1936条经验 获得超6个赞
如果 前面的表达式返回表达式,则执行 。这发生在产生NaN
的第一个表达式(这是falsy)中:||
falsy
console.log()
'x' - 'm'
console.log('x' - 'm')
对于返回 0
的第二个表达式(这是 falsy):'2' - 2
console.log('2' - 2)
您不会为第三个表达式执行,因为它返回 1
(这是真实的):console.log()
'3' - 2
console.log('3' - 2)
添加回答
举报
0/150
提交
取消