Kurs obiektowego JavaScript (6)

Autor: Damian Chodorek • Opublikowany: 27 września 2014 • Ostatnia aktualizacja: 5 czerwca 2016 • Kategoria: javascript, kursy

Opis typu Boolean. Wartości fałszywe i operatory logiczne.

Typ logiczny

Boolean posiada jedynie dwie wartości:

  • true,
  • false.

Można na nich wykonywać operacje logiczne przy pomocy poznanych operatorów logicznych.

true;
!true; //false
!!true; //true

Większość wartości będzie przekonwertowana na wartość true. Poniżej przedstawiam wyjątki, które zostaną zamienione na false:

  • pusty ciąg znaków "",
  • null,
  • undefined,
  • wartość liczbowa 0,
  • wartość NaN,
  • oczywista wartość false.

Kolejność wykonywania operacji

Operator ! posiada najwyższy priorytet. Następny w kolejności jest &&, a potem ||. Najlepszą praktyką jest jednak nie poleganie na kolejności wykonywania operacji i umieszczanie wyrażeń w nawiasach. Dzięki temu Twój kod będzie czytelniejszy i bardziej zrozumiały.

Leniwe wykonywanie operacji

Jeżeli w jednym wyrażeniu umieścisz wiele operacji logicznych, ale w pewnym momencie wynik stanie się oczywisty, to całe wyrażenie nie będzie wykonane, a jedynie wymagany jego fragment.

true || false || true || false || true /*wynikiem będzie true*/

Ponieważ wyrażenie składa się wyłącznie z operatorów alternatywy, to pierwsze natrafienie na true zakończy przetwarzanie i zostanie zwrócony wynik true.

Uwaga! Typem wyniku wyrażenia logicznego, jest typ ostatniej wartości, która potrzebna była do obliczenia tego wyrażenia. Jeżeli będzie to typ inny niż Boolean, to wynikiem całego wyrażenia będzie ta wartość.

true || "tekst" /*wynikiem będzie true*/
true && "tekst" /*wynikiem jest "tekst"*/
"tekst" && true /*wynikiem jest true*/
"tekst" || true /*wynikiem jest "tekst"*/
"1" && true && false && "2" && true || true /*wynik to true*/
"1" && true && false && "2" && true && true /*wynik to false*/

W tym artykule to wszystko. Przejdź do następnej części:

Kurs obiektowego JavaScript (7)

Zobacz również
Kurs obiektowego JavaScript (4)Typy danych w JS. Omówienie typu liczbowego oraz operatora typeof.
Kurs obiektowego JavaScript (5)Dokładniejsze omówienie typu String. Więcej o konwersjach i znakach specjalnych.
Kurs obiektowego JavaScript (7)Podstawowe informacje o tablicach.
Kurs obiektowego JavaScript (8)Bloki warunkowe oraz pętle w JS.

2 komentarze

  • Samot napisał(a):

    Uwaga! Jeżeli JS napotka wartość inną niż Boolean w wyrażeniu logicznym, to zwróci ją jako wynik wyrażenia.

    Nie jest to prawda.
    W przypadku jeżeli wszystkie części wyrażenia są prawdą jeżeli chodzi o konkatenację, zwraca nam ostatnią część która jest prawdą, czyli o ile w przypadku true && „tekst” zwraca nam „tekst”, o tyle w odwrotnym, czyli „tekst” && true, zwraca nam „true”.

  • Dodaj komentarz

    Twój adres e-mail nie zostanie opublikowany.