在许多地方,我看到开发人员正在进行value == var比较,如下所示:
if ('https' === location.protocol) {
port = 8443;
protocol = 'wss://';
isSecure = true;
}我知道a == b和b == a是一样的,所以为什么人们使用value == var而不是var == value
这有什么标准吗?如果是的话,标准的方法是什么?
发布于 2017-03-29 08:36:05
你看到的是尤达条件。
Yoda条件描述了相同的表达式,但相反:
if ( 42 == $value ) { /* ... */ }
// Reads like: "If 42 equals the value..."优点是
在表达式中放置常量值不会改变程序的行为(除非值计算为false-见下文)。在使用单个等号(=)作为赋值而不是用于比较的编程语言中,可能的错误是无意中分配一个值,而不是编写条件语句。
请注意,它显然缺乏可读性。我个人不喜欢这样。
https://stackoverflow.com/questions/43088337
复制相似问题