【发布时间】:2015-02-02 15:59:31
【问题描述】:
在许多代码示例中,我确实看到人们在使用typeof 进行类型检查时使用===。
但是typeof 总是返回一个string。无论您正在检查哪个变量。那么为什么要使用=== 来进行类型检查呢?
例子:
if(typeof num === 'number')
// do something
有什么我不知道的极端情况吗?
【问题讨论】:
-
我认为这通常只是人们喜欢在所有情况下都遵循的一种做法,以保持自己的意识。如果新手编码员看到“==”太多,他们可能会认为“===”无关紧要并使用更简单的。
-
你知道“==”和“===”的区别吗?
-
@ user3355243:从他的帖子看来,他确实这样做了——他指出 typeof 总是返回一个字符串,因此没有错误转换的“危险”等等——因此,显然,不需要担心使用 == 而不是 ===。这就是他的要求。
-
人们不喜欢使用逻辑,对于 typeof 比较两个等于就足够了,人们使用 === 作为默认值,而无需费力思考是否有意义,那就是另一个比较的边缘。所以你的逻辑完全没问题,因为 typeof 两个等于就足够了,你不需要担心任何极端情况。
-
@Daniel Aranda:人们可能会把精力花在考虑更重要的事情上,而不是决定
==运算符何时不会伤害他们。 ;)
标签: javascript