javascript if-else速记和字符串

javascript if-else速记和字符串,javascript,Javascript,var x='x' x-'m'| | console.log('True 1') //日志为True,应为false 变量x='2' x-2 | | console.log('True 2') //记录真实 变量x='3' x-2 | | console.log('True 3') //logs False如果|前面的表达式返回falsy表达式,则执行console.log()。第一个表达式'x'-'m'产生NaN(它是falsy)时会出现这种情况: console.log('x'-'m')N

var x='x'
x-'m'| | console.log('True 1')
//日志为True,应为false
变量x='2'
x-2 | | console.log('True 2')
//记录真实
变量x='3'
x-2 | | console.log('True 3')

//logs False
如果
|
前面的表达式返回
falsy
表达式,则执行
console.log()。第一个表达式
'x'-'m'
产生
NaN
(它是falsy)时会出现这种情况:


console.log('x'-'m')
NaN
是错误的。它只记录第一个条件为NaN,第二个条件为零。最后一个条件不记录false,因为meI认为“logs false”的意思是“不进入控制台。log”。@Aioros更正了您如何读取表达式
x-'m'| | console.log('True 1')
x-('m'| console.log('True 1'))
“不应记录任何内容,因为
'm'
是真实的”或
(x-'m')| | console.log('True 1')
-“不应记录任何内容,因为
x-'m'
是真实的”?