不含咖啡因:双括号

时间:2019-07-04 07:30:00

标签: javascript if-statement coffeescript

我最近对一个旧项目进行了脱除咖啡因的处理,并且发现很多if clauses的表达式都用“多余”的括号括起来:

if ((data == null) || (data === ""))

在任何情况下都需要包装吗?恕我直言,它与:

if (data == null || data === "")

2 个答案:

答案 0 :(得分:1)

通过显式检查,您可以省略比较周围的括号,因为operator precedence==/===logical OR ||低。

if (data == null || data === "")

答案 1 :(得分:0)

在那种情况下,这没关系,但是只要您从if语句(或几乎所有地方)中删除括号,请确保您选中precedence table

例如,从中删除括号:

if ((someVar && someConditional) == someBool)

会导致:

if (someVar && someConditional == someBool)

完全不同。由于括号,第一个示例将首先计算someVar && someConditional,然后计算resultOfOperation == someBool。在第二个示例中,由于&&的较高优先级,首先评估someConditional == someBool,然后评估0 && resultOfOperation