我在 datatables.net 的代码示例中发现了以下内容。
return value > 20 ? true : false;
他们为什么不写
return value > 20;
后者能否返回真或假以外的值?试图弄清楚他们是否只是认为代码以这种方式更具可读性,或者是否实际上有一个我不知道的重要原因。
唯一可能的结果是真或假。我不认为它使它更具可读性。我能想到的唯一原因可能是他们是一个新开发人员,没有意识到价值> 20 是有效的。
这与
写这篇文章的人是一样的:
if(value > 20 === true){ . . . }
这是不必要的,因为if
条件被隐含地与它们的"真实性"进行比较。该语句应为:
if(value > 20){ . . . }
因此,在您的示例中,代码应该只是:
return value > 20;
因为(正如您正确推测的那样)大于/小于表达式只能导致true
或false
.
现在,如果有人想要返回一组备用的二进制结果,那么您可以看到使用了这样的东西:
return value > 20 ? "acceptable" : "unacceptable";