变量 === 常量和常量 === 变量有什么区别

brk

我有以下代码片段可以按预期工作。哪里x是变量

var myVariable = (x === 'A' || x=== 'B') ? 'sui' : 'pai';

但是闭包编译器正在将其转换为

var myVariable = ('A' === x || 'B'=== x) ? 'sui' : 'pai';

这也有效。你能告诉我第二个片段比第一个更好吗?谢谢你。

阿尔尼塔克(Alnitak)

人类程序员有时这样做是为了确保他们不会将=赋值运算符与相等==运算符混淆

如果constant = variable错误地使用而不是constant == variable编译器或解释器会产生警告或错误。例如,Chrome 会执行以下操作:

> 'A' = x
VM207:1 Uncaught ReferenceError: Invalid left-hand side in assignment

我不确定为什么转译器会打扰,因为如果它足够聪明能够交换参数以防止运行时错误,它也应该足够聪明以在转译时产生相同的警告。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章