Jakie operatory występują w języku JavaScript ?

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:

  • ++zmiennapre-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:

  • –zmiennapre-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 (~)

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).

 

Źródło1 Źródło2