Operatory jednoargumentowe
Operatory jednoargumentowe wpływają na wartość lub typ zmiennej, do której są stosowane.
Jednoargumentowy operator +
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łasnie z operacji jedno argumentowego operatora +
Jednoargumentowy operator –
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 (++)
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 (–)
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
Operatory post-inkrementacji i post-dekrementacji na typach Boolean oraz String działają tak samo jak operator jedno argumentowy + |
Operator negacji bitowej (~)
Negacja bitowa, w JavaScripcie ma taki sam efekt działania jak w innych językach programowania .
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
Operatory bitowe
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
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 (&&)
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 (||)
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
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
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
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 |
Operatory arytmetyczne
Symbol | Składnia | Opis |
+ | x+y | Wykonuje operację dodawania. |
– | x-y | Wykonuje operację odejmowania. |
– | -x | Wykonuje negację zmiennej. |
% | x%y | Zwraca resztę z dzielenia pierwszej zmiennej przez drugą (dzielenie modulo). |
* | x*y | Wykonuje operację mnożenia. |
/ | x/y | Wykonuje operację dzielenia. |
Operatory łańcuchowy (konkatencja)
Symbol | Składnia | Opis |
+ | „text1″+”text2” | Łączy dwa ciągi znaków w jeden. |
Operatory bitowy
Symbol | Składnia | Opis |
& | x&y | Wykonuje bitową operację AND, która wyświetla 1, jeśli obie zmienne wynoszą 1. |
^ | x^y | Wykonuje bitową operację XOR, która wyświetla 1, jeśli jedna ze zmiennych (ale nie obie jednocześnie) wynosi 1. |
| | x|y | Wykonuje bitową operację OR, która wyświetla 1, jeśli jedna ze zmiennych wynosi 1. |
<< | x<<y< td=””> | Wykonuje przesunięcie bitów w lewo o podaną ilość miejsc. |
>> | x>>y | Wykonuje przesunięcie bitów w prawo o podaną ilość miejsc. |
Operatory przypisania
Symbol | Składnia | Opis |
= | x=y | Przypisuje wartość y do zmiennej x. |
+= | x+=y | Wykonuje przypisanie x=x+y |
-= | x-=y | Wykonuje przypisanie x=x-y |
*= | x*=y | Wykonuje przypisanie x=x*y |
/= | x/=y | Wykonuje przypisanie x=x/y |
%= | x%=y | Wykonuje przypisanie x=x%y |
<= | x<=y | Wykonuje przypisanie x=x<y< td=””> |
^= | x^=y | Wykonuje przypisanie x=x^y |
|= | x|=y | Wykonuje przypisanie x=x|y |
<< | x<<=y | Wykonuje przypisanie x=x<<y< td=””> |
Operatory porównania
Symbol | Składnia | Opis |
!= | x!=y | Zwraca true, jeśli zmienne nie są równe. |
< | x<y< td=””> | Zwraca true, jeśli pierwsza zmienna jest mniejsza niż druga. |
<= | x<=y | Zwraca true, jeśli pierwsza zmienna jest mniejsza niż druga lub jej równa. |
== | x==y | Zwraca true, jeśli zmienne są równe. |
> | x>y | Zwraca true, jeśli pierwsza zmienna jest większa niż druga. |
>= | x>=y | Zwraca true, jeśli pierwsza zmienna jest większa niż druga lub jej równa. |
Operator inkrementacji i dekrementacji
Symbol | Składnia | Opis |
++= | x++ | Zwiększa wartość zmiennej o 1 |
— | x–<y< td=””> | Zmniejsza wartość zmiennej o 1. |
Operatory logiczne
Symbol | Składnia | Opis |
! | !x | Ten operator logiczny neguje wyrażenie. |
&& | x&&y<y< td=””> | Operator logiczny AND zwraca true, jeśli obie zmienne są prawdziwe (true). |
|| | x||y | Operator logiczny OR zwraca true, jeśli co najmniej jedna ze zmiennych jest prawdziwa (true). |