大于比较可以返回真或假以外的任何内容



我在 datatables.net 的代码示例中发现了以下内容。

return value > 20 ? true : false;

他们为什么不写

return value > 20;

后者能否返回真或假以外的值?试图弄清楚他们是否只是认为代码以这种方式更具可读性,或者是否实际上有一个我不知道的重要原因。

唯一可能的结果是真或假。我不认为它使它更具可读性。我能想到的唯一原因可能是他们是一个新开发人员,没有意识到价值> 20 是有效的。

这与

写这篇文章的人是一样的:

if(value > 20 === true){ . . . }

这是不必要的,因为if条件被隐含地与它们的"真实性"进行比较。该语句应为:

if(value > 20){ . . . }

因此,在您的示例中,代码应该只是:

return value > 20;

因为(正如您正确推测的那样)大于/小于表达式只能导致truefalse.

现在,如果有人想要返回一组备用的二进制结果,那么您可以看到使用了这样的东西:

return value > 20 ? "acceptable" : "unacceptable";

相关内容

最新更新