XOR = A или B, но не A & B или ни то, ни другое (не может быть равным [! =])
Таким образом, XNOR является точной противоположностью, и его можно легко представить с помощью == или ===.
Однако, не булевские случаи представляют проблемы, как в этом примере:
a = 5
b = 1
if (a == b){
...
}
, вместо этого используйте это:
a = 5
b = 1
if((a && b) || (!a && !b)){
...
}
или
if(!(a || b) && (a && b)){
...
}
первый пример вернет false (5! = 1), а второй вернет true (значения a [value?] И b [value?] Возвращают то же логическое значение, true (value = not 0 / there)является значением)
альтернативный пример - просто перевернутый (a || b) &&! (a && b) (XOR) строб