gpt4 book ai didi

javascript - Javascript 中的 XOR 运算符用于检查值

转载 作者:行者123 更新时间:2023-12-03 01:33:50 25 4
gpt4 key购买 nike

所以,据我检查,javascript 没有 XOR 运算符。

还有以下内容 -

if( ( foo && !bar ) || ( !foo && bar ) ) {
...
}

如果 foo 和 bar 是 bool 值,这一点很清楚。但是 XOR 可以用来检查不同类型的表达式吗?例如,如果我想对照另一个值检查一个值,即 -

if (type === 'configuration' XOR type2 === 'setup') {
...
}

它会转变为类似 -

if ( (type === 'configuration' && type2 !== 'setup') || (type !== 'configuration' && type2 === 'setup' ) ) {
...
}
或者看起来会有所不同吗?

这给出了以下结果 -

type = 'configuration' && type2 = 'setup': false
type = 'configurations' && type2 = 'setup': true
type = 'configuration' && type2 = 'setups': true
type = 'configurations' && type2 = 'setups': false

匹配

0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

但我不确定这是否适合所有情况。

最佳答案

最简单的逻辑异或是:

a !== b

或者根据您的情况:

if((type === 'configuration') !== (type2 === 'setup'))

JavaScript 中的按位异或 (^) 也适用于此,因为 bool 值会被类型转换为 0/1,反之亦然:

if((type === "configuration") ^ (type2 === "setup"))

关于javascript - Javascript 中的 XOR 运算符用于检查值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51168871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com