可以大于比较返回除true或false之外的任何内容吗?

时间:2017-01-30 19:28:13

标签: javascript

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

return value > 20 ? true : false;

他们为什么不写完

return value > 20;

后者可以返回除true或false以外的值吗?试图弄清楚他们是否只是认为代码在这种方式下更具可读性,或者是否真的有一个重要的原因让我不知道这样做。

2 个答案:

答案 0 :(得分:4)

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

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

这是不必要的,因为if条件被隐含地与他们的“真理”相比较。声明应该是:

if(value > 20){ . . . }

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

return value > 20;

因为(正确猜测)大于/小于表达式只会导致truefalse

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

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

答案 1 :(得分:4)

唯一可能的结果是真或假。我认为它不会让它更具可读性。我们可以想到的唯一原因就是他们是一个新的开发者并且没有意识到价值> 20有效返回。