2015-02-05 25 views
1

我一直在寻找一种方式来微优化的Node.js以下逻辑表达式,但我没能找到实现它的任何更好的方法:Node.js的NOT-XOR优化

假设A和乙瓦尔,都是布尔(复杂的方法的结果/表达式):

if ((A && B) || (!A && !B)) { 
     return true; 
    } 
    return false; 

    //Obviously the returns are redundant in this case. 

此表达的真值表是:从领先

╔════╦═══════╦═══════╗ 
    ║ ║ A ║ !A ║ 
    ╠════╬═══════╬═══════╣ 
    ║ B ║ true ║ false ║ 
    ╠════╬═══════╬═══════╣ 
    ║ !B ║ false ║ true ║ 
    ╚════╩═══════╩═══════╝ 

谢谢!

+0

'回报!(A &&乙|| A&& !B));' - 如果你知道他们是'boolean'可以去掉了''!!! – Pointy 2015-02-05 15:22:28

+8

......实际上如果你知道它们是布尔型的,'return A === B;':) – Pointy 2015-02-05 15:23:28

+0

@Pointy,呵呵!我不敢相信我会监督这一点。这几天在我的鼻子下面。 :) 你为什么不张贴它作为答案,所以我可以接受? :) – Selfish 2015-02-05 15:26:10

回答

4

这种表达是等价的:

return A === B;