我正在尝试使用Google Closure编译器,并注意到它会将所有相等参数切换,以便变量始终位于比较的右侧。
现在,例如,typeof XMLHttpRequest=="undefined"
就变成了"undefined"==typeof XMLHttpRequest
,而if(null!==a)
则变成了if(a!==null)
。
我知道它们都能实现同样的功能,但这不是我习惯的风格。有没有什么好处可以让它们交换位置呢?我无法看出有什么好处。
有人能解释一下 Closure编译器为什么要这样做吗?这只是Closure的某个部分编写者的喜好吗?
编辑: 为澄清起见,有人告诉我为什么这可能是良好的编码实践。没错,但这是编译后发生的事情。这种切换是否有性能优势,还是Closure编译器只是想证明一点?