人们倾向于写
if (typeof(value) === "undefined")
{
/* something */
}
但为什么要使用严格的比较? typeof总是计算为字符串,不是吗?
什么不使用
if (typeof(value) == "undefined")
{
/* something */
}
答案 0 :(得分:1)
在这种情况下,它并非绝对必要 - 正如您所说typeof
总是返回一个字符串,但同样没有令人信服的理由使用==
。我怀疑大多数人都养成了默认使用严格等于的习惯,这就是你在这种情况下更常见的原因。
答案 1 :(得分:1)
我们所知道的良好做法是使用严格的比较(这是我们应该养成的习惯!)。
有些情况类似于您在示例中显示的情况,可能没有必要使用严格的比较。(此处https://stackoverflow.com/a/3736117/3556874您可以看到我们不需要===
)。
在这种情况下即typeof(value)
,使用==
或===
没有区别,因此使用===
作为习惯是一种好习惯