这个表达式可以简化吗
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);
我需要简化这个表达式
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);