Закон о несогласии диктует, что два противоречивых утверждения не могут одновременно быть истинными одновременно. Это означает, что выражения
(a && !a)
(a == !a)
(a === !a)
всегда следует оценивать значение ложности, а
(a || !a)
всегда должна оцениваться по правде.
К счастью, Javascript - забавный язык, который позволяет вам делать всевозможные больные вещи. Бьюсь об заклад, кому-то удача, что можно убедить Javascript нарушить закон непротиворечия или, по крайней мере, убедить его в том, что он нарушает закон непротиворечия. Теперь я пытаюсь сделать все четыре из приведенных выше примеров кода неожиданным результатом.
Что было бы хорошим способом сделать это?