Operatory logiczne
Operatory logiczne są używne do tworzenia wyrażeń logicznych, których wynikiem jest wartość logiczna true (prawda) lub false (fałsz).
Negacja (NOT)
!
Operator negacji zmienia wartość logiczną true na false lub false na true.
Na przykład:
a = !b;
//zmienna a osiąga wartość true jeśli b ma wartość false
Koniunkcja (AND)
&&a = b && c;
Wtedy i tylko wtedy, gdy obie zmienne b i c mają wartość true, zmienna a osiąga wartość true.
W przypadku gdy b i c lub tylko jedna z nich ma wartość false, zmienna a osiąga wartość false.
Alternatywa (OR)
||a = b || c;
W przypadku gdy b i c lub tylko jedna z nich ma wartość true, zmienna a osiąga wartość true.
Wtedy i tylko wtedy, gdy obie zmienne b i c mają wartość false, zmienna a osiąga wartość false.
We wszystkich operacjach logicznych wartości liczbowe są traktowane jako wartości logiczne.
0 jako false
jakakolwiek liczba różna od 0 jako true
Na przykład:
a = !0;
/* a osiąga wartość true, ponieważ zanegowana została wartość 0 traktowana jako false */
Łańcychy znaków w operacjach logicznych również traktowane są jako wartości logiczne.
łańcuch pusty "" jako false
jakikolwiek łańcuch niepusty "abc" jako true
Zmienne obiektowe traktowane są jako true
Na przykład:
if...else
if(document.all)
{
/* instrukcje przeznaczone dla przeglądarki Internet Explorer, ponieważ
tylko w tej przeglądarce istnieje taki obiekt jak document.all */
}
else
{
/* instrukcje dla jakiejkolwiek przeglądarki innej niż Internet Explorer, ponieważ
w żadnej innej przeglądarce nie istnieje obiekt document.all */
}
W operacjach logicznych, jako wartość false traktowane są również takie wartości jak:
NaN
undefined
null