这个表达式可以简化吗

Can this Expression be simplified

我需要简化这个表达式

  var foo = (!A && B && C) || (A && B && !C) ;

任何人都可以建议使用最少的运算符进行良好的简化吗?

B在这两种条件下都是通用的,其余的条件运算符都可以使用。

var foo = B && (A ? !C : C);

这是异或运算,请阅读Logical XOR in JavaScript

因为(!A && C) || (A && !C)是XOR的扩展,你可以用XOR表达式替换那部分:

var foo = B && (!!A ^ !!C);