JavaScript упрощает условное выражение до чего-то более читабельного

#javascript

Вопрос:

Вот мой код:

 if (!(a === false amp;amp; b === true)) {
  // do something
}
 

Вот таблица истинности для моего выражения:

 a      b      !(a === false amp;amp; b === true)
false  false  true
false  true   false
true   false  true
true   true   true
 

Выражение !(a === false amp;amp; b === true) немного пустое, как бы я упростил это в JavaScript. Много тх?

Ответ №1:

Вы могли бы взять

 a || !b
 

вместо.

 const
    fn = (a, b) => a || !b;

console.log(fn(false, false)); //  true
console.log(fn(false, true));  // false
console.log(fn(true, false));  //  true
console.log(fn(true, true));   //  true 

Результат принимает только логические значения и законы Де Моргана:

 !(a amp;amp; b) = !a || !b 
!(a || b) = !a amp;amp; !b