【发布时间】:2017-03-16 13:35:38
【问题描述】:
如果您查看typeof operand,来自MDN 网站
Def: 操作数是表示对象或原语的表达式
我们知道1===1 // returns true是一个原始类型boolean和typeof true // always returns boolean
但是当我在代码下面运行时
console.log(typeof 1===1);
我不明白为什么它返回 false 而不是 boolean
【问题讨论】:
-
您正在将
type的字符串与1进行比较。这永远不会相等,因为1是number。 -
typeof 优先于比较
-
因为
===是对值的严格比较。typeof 1是“数字”,因此您将字符串值“数字”与数值 1 进行严格比较 -
@Kinduser 对此感到抱歉,我这样做是因为 Alex 首先回答它与运算符优先级有关,然后您修改了 Vincent 指出的答案
标签: javascript