Yos*_*shi 2 javascript conditional typeof
在一些开源JavaScript项目中,我看到人们检查变量是否是函数('function' === typeof x)
.我想知道为什么人们会使用它而不是(typeof x === 'function')
.
我觉得第二种方式更自然.有没有什么好的理由使用第一种方式?性能?错误潜力?或者只是风格问题?
bfa*_*tto 12
这些被称为"尤达条件"(因为它们听起来像尤达):
有些人更喜欢它们,因为Invalid left-hand side in assignment
如果=
误用而不是==
或者使用会引发错误===
.按照最常见的顺序(即,if(count = 5)
将发生静默分配,并将搞砸程序逻辑.
请注意,这'function' === typeof x
不是一个好例子; 因为typeof x
将评估为字符串,所以在这种情况下,错位的赋值运算符将始终抛出错误,而不管操作数的顺序如何.
它们是相同的表达.当你与==
or 比较时===
,表达式的哪一侧无关紧要.
if(null === myVar)
if('hello' === str)
Run Code Online (Sandbox Code Playgroud)
等都是有效的.
如果两个表达式中的一个很长,你可能想把它放在右侧,这样眼睛就可以更容易地看到被比较的内容.
归档时间: |
|
查看次数: |
623 次 |
最近记录: |