if语句中表达式的顺序

Jim*_*ery 7 javascript if-statement operators

可能重复:
这些(bCondition == NULL)和(NULL == bCondition)有什么区别?
Javascript缩小比较语句

我一直在写这样的if陈述:

if(variable1 === 1){}
if(variable2 > 10){}
if(variable3 == "a"){}
Run Code Online (Sandbox Code Playgroud)

但是我记得在某个地方读书(不幸的是我再也找不到那个页面了),这样的if语句写得更好:

if(1 === variable1){}
if(10 < variable2){}
if("a" == variable3){}
Run Code Online (Sandbox Code Playgroud)

将变量放在表达式右侧的位置.

它是否正确?如果是这样,任何人都可以解释为什么这是正确的吗?此外,这适用于所有编程语言,还是只适用于JavaScript?

TIA

Sal*_*n A 5

1 === variable1variable1 === 1用Yoda表示法编写的表达式相同**:左侧列出的常量,右侧的变量.

一些程序员选择使用它的主要原因是为了避免编写if (a = 1)程序员实际意义if (a == 1)或编写的常见错误if (a === 1).以下代码行将起作用但不符合预期(a分配值和if块将始终执行):

if (a = 1) {}
Run Code Online (Sandbox Code Playgroud)

反过来写的相同表达式将生成语法(或编译)错误:

if (1 = a) {}
Run Code Online (Sandbox Code Playgroud)

程序员可以立即发现错误并修复它.

我不喜欢或使用尤达符号.编码时我试着睁大眼睛.

**我无法找出这个词的来源.

  • 该术语的起源:http://www.codinghorror.com/blog/2012/07/new-programming-jargon.html (2认同)