在一些开源 JavaScript 项目中,我看到人们检查变量是否是函数('function' === typeof x)
。我想知道为什么人们用它而不是(typeof x === 'function')
.
我觉得第二种方式更自然。使用第一种方式有什么充分的理由吗?表现?潜在错误?或者这只是风格问题?
这些被称为“尤达条件”(因为它们听起来像尤达):
有些人更喜欢它们,因为Invalid left-hand side in assignment
如果出现以下情况,将会抛出错误=
被错误地使用而不是==
or ===
。按照最常见的顺序(即if(count = 5)
,将会发生静默分配,并且会搞乱程序逻辑。
注意'function' === typeof x
这不是一个好例子;自从typeof x
将求值为字符串,在这种情况下,无论操作数的顺序如何,放错位置的赋值运算符总是会抛出错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)