我有以下代码片段按预期工作.哪里x是变量
var myVariable = (x === 'A' || x=== 'B') ? 'sui' : 'pai';
Run Code Online (Sandbox Code Playgroud)
但是闭包编译器正在将其转换为
var myVariable = ('A' === x || 'B'=== x) ? 'sui' : 'pai';
Run Code Online (Sandbox Code Playgroud)
这也有效.请你告诉我第二个片段比第一个片段更好.谢谢.
人类程序员有时会这样做,以确保他们不会将=赋值运算符与相等==运算符混淆.
如果您constant = variable错误地使用而不是constant == variable编译器或解释器将产生警告或错误.例如,Chrome就是这样做的:
> 'A' = x
VM207:1 Uncaught ReferenceError: Invalid left-hand side in assignment
Run Code Online (Sandbox Code Playgroud)
我不确定为什么转换器会打扰,因为如果它能够交换参数以防止运行时错误,它应该足够聪明,以便在转换时产生相同的警告.
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |