我最近对一个旧项目进行了脱除咖啡因的处理,并且发现很多if clauses
的表达式都用“多余”的括号括起来:
if ((data == null) || (data === ""))
在任何情况下都需要包装吗?恕我直言,它与:
if (data == null || data === "")
答案 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
。