简化布尔逻辑以使用更少的运算符

时间:2017-02-14 10:05:37

标签: javascript boolean boolean-logic boolean-expression

有没有办法简化以下逻辑,使用少于 5 运算符(&& / ||) 没有创建新变量?

var foo = (A || B) && C && [(A && D) || (B && E)]

1 个答案:

答案 0 :(得分:1)

假设[]表示(),那么您可以删除一些括号,因为&&(6)operator precedence超过||(5)。

var foo = (A || B) && C && (A && D || B && E);

然后你可以放弃第一部分,因为最后一部分的条件,

var foo = (A || B) && C && (A && D || B && E);
//         ^    ^           ^         ^     

因为不仅A必须trueDB也必须trueE

var foo = C && (A && D || B && E);
相关问题