为什么 typeof 运算符在没有括号的情况下显示不同的输出?

0 javascript typeof

考虑以下代码:

console.log(typeof ('6'/'2')) // => "number"
Run Code Online (Sandbox Code Playgroud)

现在如果我删除之后的括号typeof

console.log(typeof '6' / '2') // => NaN
Run Code Online (Sandbox Code Playgroud)

这显示了不同的输出。我想知道 JavaScript 引擎在这里是如何工作的。

Spe*_*ric 5

typeof '6'返回'string'

当您删除括号时,条件变为'string' / '2',即NaN

如果保留括号,则首先进行数字除法,然后typeof对数字进行调用。