Javascript 变量===常量和;常数===变量
我有下面这段代码,它按预期工作。其中Javascript 变量===常量和;常数===变量,javascript,Javascript,我有下面这段代码,它按预期工作。其中x是一个变量 var myVariable = (x === 'A' || x=== 'B') ? 'sui' : 'pai'; 但闭包编译器正在将其转换为 var myVariable = ('A' === x || 'B'=== x) ? 'sui' : 'pai'; 你能告诉我第二段比第一段好多少吗。谢谢。人类程序员确保他们不会将=赋值运算符与相等=运算符混淆 如果错误地使用constant=variable而不是constant==variable
x
是一个变量
var myVariable = (x === 'A' || x=== 'B') ? 'sui' : 'pai';
但闭包编译器正在将其转换为
var myVariable = ('A' === x || 'B'=== x) ? 'sui' : 'pai';
你能告诉我第二段比第一段好多少吗。谢谢。人类程序员确保他们不会将=
赋值运算符与相等=
运算符混淆
如果错误地使用constant=variable
而不是constant==variable
,编译器或解释器将产生警告或错误。例如,Chrome就是这样做的:
> 'A' = x
VM207:1 Uncaught ReferenceError: Invalid left-hand side in assignment
我不知道为什么传输程序会这么麻烦,因为如果它足够聪明,能够交换参数以防止运行时错误,那么它也应该足够聪明,能够在传输时产生相同的警告。请参阅。但在我看来,用一根线来捕捉这样的错误要好得多。@str谢谢。这个链接真的很有用