我正在重构一些javascript代码并遇到了这个表达式:
false === options.onSubmit.call(this)
将false
放在第一位的目的是什么?该表达式与此表达式之间是否存在差异?
options.onSubmit.call(this) === false
答案 0 :(得分:2)
我认为最大的好处是你不能意外地assignment
而不是compare
。它基本上是==
检查。
如果要比较两个值,如bellow
someVariable === false
OR
someVariable == false
可能是意料之外的
someVariable = false
但是
false = someVariable
会导致错误 ReferenceError:分配中的左侧无效。所以你将摆脱这个错误。