JavaScript/Operatory

Z Wikibooks, biblioteki wolnych podręczników.

Operatory jednoargumentowe[edytuj]

Operatory jednoargumentowe wpływają na wartość lub typ zmiennej, do której są stosowane.

Jednoargumentowy operator +[edytuj]

Operator + na typach Number działa podobnie jak w matematyce

var liczba=255;
liczba = +liczba; //przypisanie wartości, operator nie wpływa na wynik operacji

W przypadku operacji na typie Boolean, operator + powoduje konwersję do typu Number:

var prawda=true;
prawda = +prawda; //konwersja na typ Number, sprawdźmy:
alert(typeof prawda); //wyświetla number
alert(prawda); //wyświetla 1

Podobnie zachowuje się operator + na typie String:

var lancuch="0x24";
lancuch= +lancuch //konwersja na typ Number, sprawdźmy:
alert(typeof(lancuch)); //wyświetla number
alert(lancuch); //wyświetla 36

Często w aplikacjach webowych wykorzystujemy zamianę zmiennej typu String na Number. Najczęściej wykorzystujemy do tego funkcję ParseInt

var liczba="12345";
alert(liczba+5); // wyswietli 123455 bo operujemy na liczbie i tekscie
liczba=parseInt(liczba,10);
alert(liczba+5); // wyswietli 12350 bo operujemy na dwoch liczbach

Jednak jeśli zależy nam na prędkości wykonania (mamy dużo operacji zmieniania typu), a jednocześnie wiemy, że dana zmienna jest w całości liczbą (np. "1324ada" już nie spełnia tego warunku) to najlepiej skorzystać właśnie z operacji jedno argumentowego operatora +

Jednoargumentowy operator -[edytuj]

Operator - na typach Number, zachowuje się tak samo jak w matematyce:

var liczba=255;
liczba = -liczba; //przypisanie wartości i zmiana znaku, sprawdźmy:
alert(liczba); //wyświetla -255
liczba = -liczba //ponownie przypisujemy wartość ze zmienionym znakiem
alert(liczba); //wyświetla 255

Operator - dla typów boolean i string zachowuje się tak samo jak operator +, z tą różnicą, iż zostaje zmieniony znak liczby na przeciwny:

var lancuch="0x24";
var prawda=true;
lancuch= -lancuch;
prawda= -prawda;
alert(lancuch); //wyświetla -36
alert(prawda); //wyświetla -1

Operator inkrementacji (++)[edytuj]

Operator inkrementacji służy do zwiększenia o 1 wartości zmiennej. Występuje w dwóch wersjach:

  • ++zmienna - pre-inkrementacja zwiększa o 1 wartość zmiennej, zanim wartość zmiennej zostanie dalej użyta.
  • zmienna++ - post-inkrementacja zwiększa o 1 wartość zmiennej, po użyciu wartości zmiennej

Przykład:

var liczba = 1, wynik1,wynik2,wynik3;
wynik1=liczba++; //post-inkrementacja, wynik1 ma wartość 1, po tej operacji liczba ma wartość 2
wynik2=++liczba; //pre-inkrementacja, liczba ma wartość 2+1=3, wynik2 ma wartość 
                //taką samą co liczba, czyli 3

Operator dekrementacji (--)[edytuj]

Operator dekrementacji służy do zmniejszenia o 1 wartości zmiennej i podobnie jak operator inkrementacji posiada dwie formy:

  • --zmienna - pre-dekrementacja zmniejsza o 1 wartość zmiennej, zanim wartość zmiennej zostanie dalej użyta.
  • zmienna-- - post-dekrementacja zmniejsza o 1 wartość zmiennej, po użyciu wartości zmiennej

Działanie post i pre-dekrementacji jest takie samo jak operatora inkrementacji.

Działania operatorowe pre-inkrementacji jak i pre-dekrementacji, na typach Boolean oraz String, konwertują zmienne na typ Number oraz działają :

var falsz=false, lancuch="0x24";
lancuch=++lancuch;
falsz=--falsz;
alert(lancuch) //wyświetla 37
alert(falsz); //wyświetla -1

Operator negacji bitowej (~)[edytuj]

Negacja bitowa, w JavaScripcie ma taki sam efekt działania jak w innych językach programowania (porównaj C).

Operator negacji logicznej (!)[edytuj]

Negacja logiczna, zamienia wartość zmiennej na typ Boolean o wartości przeciwnej niż Booleanowy odpowiednik:

var liczba=0,liczba2=1 lancuch="hello", lancuch2="", prawda=true;
alert(!liczba); //wyświetla true
alert(!liczba2); //wyświetla false
alert(!lancuch); //wyświetla false
alert(!lancuch2); //wyświetla true
alert(!prawda); //wyświetla false

Operatory wieloargumentowe[edytuj]

Operatory bitowe[edytuj]

Operatory bitowe działają na bitach liczby całkowitej, przykładem operatora bitowego był wcześniej poznany operator negacji bitowej. Z uwagi na małą popularność operatorów bitowych, przedstawiamy je w poniższej tabeli.

Znak operatora Krótki opis Przykład wyrażenia Otrzymywana wartość
& koniunkcja 2 & 5 0
| alternatywa 2 | 5 7
^ alternatywa wykluczająca 2^7 5
<< przesunięcie w lewo 2<<7 256
>> przesunięcie w prawo 2>>1 1
>>> przesunięcie w prawo razem z bitem znaku -2222>>>1 2147482537

Operatory logiczne[edytuj]

Operatory logiczne działają na zmiennych typu Boolean. Jeżeli argumenty są innymi typami, zostają skonwertowane do tego typu. Poznany wcześnie operator negacji logicznej jest jednym z operatorów logicznych, pozostałe to operator koniunkcji i alternatywy logicznej.

Operator koniunkcji logicznej (&&)[edytuj]

Wyniki działania operatora && są przedstawione w poniższej tabeli:

Wyrażenie Otrzymana wartość
true && true true
true && false false
false && true false
false && false false

Operator alternatywy logicznej (||)[edytuj]

Wyniki działania operatora || są przedstawione w poniższej tabeli:

Wyrażenie Otrzymana wartość
true || true true
true || false true
false || true true
false || false false

Operatory arytmetyczne[edytuj]

Operatory arytmetyczne maję zastosowanie w wyrażeniach arytmetycznych na zmiennych i liczbach.

Podstawiając pod zmienną x = 7 prezentujemy w poniższej tabeli rezultat działania operatorów:

Znak operatora Krótki opis Przykład wyrażenia Otrzymywana wartość
+ dodawanie x+5 12
- odejmowanie x-5 2
* mnożenie x*2 14
/ dzielenie x/2 3.5
% modulo (reszta z dzielenia) x%3 1

Operatory arytmetyczne jednoargumentowe (opisane wyżej operatory inkrementacji i dekrementacji)

Znak operatora Krótki opis Przykład wyrażenia Otrzymywana wartość Uwagi
++ inkrementacja y=++x y=8 x=8 wartość x zmieniana przed podstawieniem
y=x++ y=7 x=8 wartość x zmieniana po podstawieniu
-- dekrementacja y=--x y=6 x=6 wartość x zmieniana przed podstawieniem
y=x-- y=7 x=6 wartość x zmieniana po podstawienu

Operator przypisania[edytuj]

Opereatory przypisania mają zastosowanie do nadanie wartości zmiennym. Podstawowym operatorem jest znak "=". Pozostałe operatory są złażone ze znaku operatora arytmetycznego i znaku "=". Realizują one operację arytmetyczną na zmiennych z lewej i prawej strony operatora, przypisując wynik zmiennej z lewej strony. Są to operatory: "+=", "-=", "/=" i "%=".

Poniższa tabela przedstawia wyniki działania operatorów dal wartości zmiennych x=5 i y=2:

Znak operatora Przykład odpowiada wyrażeniu Wynik działania
= x=y x=5
+= x+=y x=x+y x=7
-= x-=y x=x-y x=3
/= x/=y x=x/y x=2.5
%= x%=y x=x%y x=1

Operatory porównania[edytuj]

Operator porównania porównuje dwie wartości z lewej oraz prawej strony operatora i zwraca wartość true (prawda), jeśli warunek jest spełniony, jeśli nie jest spełniony zwraca false (fałsz).


Znak operatora Opis Przykład Wynik
== równa się 5==5 true
5==8 false
!= nie równa się 5!=5 false
5!=8 true
< mniejsze 5<5 false
5<8 true
<= mniejsze lub równe 5<=5 true
5<=8 true
> większe 5>5 false
5>8 false
>= więsze lub równe 5>=5 true
5>=8 false

Pozostałe operatory[edytuj]

Operatory specjalne[edytuj]