Justique
@Justique

Три «И» в условии Javascript?

Доброго дня, подскажите почему это условие выполняется даже если одно из $q = правда ?
if (($q1 == false && $q2 == false) && currentIndex == 0) {
				return false;
			}else{
				return true;
			}
  • Вопрос задан
  • 184 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Понятнее, мне кажется, будет так:
return !( !$q1 && !$q2 && currentIndex == 0 );

А теперь парой магических манипуляций по де Моргану:
Пусть A = $q1, B = $q2, C = (currentIndex == 0), тогда

0) !( !A & !B & C ) =>

1) !( !(A | B) & C ), пусть X = (A | B) => 

2) !( !X & C ) => 

3) X | !C => 

4) A | B | !C

превращяется в:
return $q1 || $q2 || currentIndex != 0;

Ответ очевиден, высшее образование необходимо программисту.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы