Operatory w każdym języku programowania służą do operowania na wartościach i zmiennych. Przykładowo w wyrażeniu 4 + 5 znak + to właśnie operator.
Javascript rozróżnia następujące typy operatorów:
Rozróżniamy nestępujące operatory arytmetyczne:
+ - dodawanie np.:10 + 3 = 13 "koty " + 2 = "koty 2" //bo zamienia na string 37 + 2 = 39 "37" + 2 = 372 //bo zamienia na string
37 - 3 = 34 "35" - 3 = 32 //w odejmowaniu stara się zamienić na liczbę "35a" - 2 = NaN
9 / 3 = 3 9 / 2 = 4.5 "9" / 2 = 4.5 "9i" / 2 = NaN
9 * 2 = 18 "9" * 2 = 18 "9p" * 2 = NaN
9 % 2 = 1 "9" % 2 = 1 -8 % 3 = -2 "9i" % 2 = NaN
var zmienna = 5 var zmienna2 =- zmienna //zmienna2 = -5
var zmienna = 10; zmienna++ //zwróci 11 var zmienna3 = "napis" zmienna3++ //zwróci NaN
var zmienna = 10; zmienna-- //zwróci 9 var zmienna3 = "napis" zmienna3-- //zwróci NaN
Rozróżniamy nestępujące operatory Przypisania:
var zmienna = 2 var zmienna2 = "napis" var zmienna3 = zmienna + zmienna2 var zmienna4 = document.formularz.pole.value
zmienna += cena jest jednoznaczne z: zmienna = zmienna + cena var zmienna = 9; zmienna += 3 //zwróci 12
zmienna -= cena jest jednoznaczne z: zmienna = zmienna - cena var zmienna = 9; zmienna -= 3 //zwróci 6
zmienna *= cena jest jednoznaczne z: zmienna = zmienna * cena var zmienna = 9; zmienna *= 3 //zwróci 9
zmienna /= cena jest jednoznaczne z: zmienna = zmienna / cena var zmienna = 9; zmienna /= 3 //zwróci 3
zmienna %= cena jest jednoznaczne z: zmienna = zmienna % cena var zmienna = 9; zmienna %= 2 //zwróci 1
Operatory porównania stosuje się w instrukcjach warunkowych. Rozrózniamy następujące operatory porównania:
== - operator równości.
Stosuje się go do porównywania dwóch wartości np:
ilosc == 30zwróci prawdę tylko gdy wartosc zmiennej ilosc będzie równa 30
!= - operator nierówności.
Stosuje się go do sprawdzenia czy dwie wartości są sobie nierówne np:
ilosc != 30zwróci prawdę tylko gdy wartosc zmiennej ilosc będzie różna od 30
> - operator większości.
Stosuje się go do sprawdzenia czy wartość lewa jest większa od wartości prawej np:
ilosc > 30zwróci prawdę tylko gdy wartosc zmiennej ilosc będzie większa od 30
< - operator mniejszości.
Stosuje się go do sprawdzenia czy wartość lewa jest mniejsza od wartości prawej np:
ilosc < 30zwróci prawdę tylko gdy wartosc zmiennej ilosc będzie mniejsza od 30
>= - operator większe-równe.
Stosuje się go do sprawdzenia czy wartość lewa jest większa bądź równa wartości prawej np:
ilosc >= 30zwróci prawdę tylko gdy wartosc zmiennej ilosc będzie większa lub równa 30
<= - operator mniejsze-równe.
Stosuje się go do sprawdzenia czy wartość lewa jest mniejsza bądź równa wartości prawej np:
ilosc => 30zwróci prawdę tylko gdy wartosc zmiennej ilosc będzie mniejsza lób równa 30
=== - identyczność.
Stosuje się go do sprawdzenia czy lewa wartość jest równa prawej i czy obie wartości są tego samego typu np:
ilosc_1 === ilosc_2zwróci prawdę tylko gdy wartość zmiennej ilosc_1 będzie równa wartości zmiennej ilosc_2 oraz obie zmienne będą tego samego typu (np. liczbowego lub znakowego)
!== - nie identyczność.
Stosuje się go do sprawdzenia czy lewa wartość jest nierówna prawej i/lub czy obie wartości nie są tego samego typu np:
ilosc_1 !== ilosc_2zwróci prawdę tylko gdy wartość zmiennej ilosc_1 nie będzie równa wartości zmiennej ilosc_2 i/lub obie zmienne nie będą tego samego typu (np. liczbowego lub znakowego)
Operatory logiczne stosuje się w instrukcjach warunkowych. Rozróżniamy następujące operatory Logiczne:
&& - operator "i" czyli z angielskiego "And"
Sprawdza warunek dla dwóch lub więcej wartości np:
(ilosc_1>10) && (ilosc_2<10)będzie prawdziwe gdy ilość_1 będzie większa od 10 i ilosc_2 będzie mniejsza od 10.
|| - operator "lub" czyli z angielskiego "OR"
Sprawdza czy ktorys z warunkow jest poprawny np:
(ilosc_1>10) || (ilosc_2<10)będzie prawdziwe gdy ilosc_1 będzie większa od 10 lub ilosc_2 będzie mniejsza od 10.
! - operator "nie" czyli z angielskiego "NOT"
Sprawdza czy warunek nie jest spełniony np:
!(ilosc==5)będzie prawdziwe tylko wtedy gdy wartość zmiennej ilosc nie będzie równa 5 (czyli będzie różna od 5).
^ - operator "XOR"
Sprawdza czy któryś z warunków jest spełniony przy czym nie mogą być spełnione oba naraz np:
(ilosc_1==2) ^ (ilosc_2>2)zwróci prawdę tylko wtedy gdy wartość zmiennej ilosc_1 będzie równa 2 lub wartość zmiennej ilosc_2 będzie większa od 2, przy czym tylko jedna z tych zależności będzie prawdziwa
Poniżej demonstruję kilka przykładów przedstawiających operacje za pomocą operatorów. Wszystkie poniższe przykłady tworzone są dla zmiennych x = 3 i y = 5:
var x = 3 var y = 5 if ((x>2) && (y<6)) //prawda bo x jest większe od 2 i y jest mniejsze od 6 if ((x>2) || (y<3)) //prawda bo x jest większe od 2 if (x != 2) //prawda bo x jest różne od 2 if !(x != 2) //fałsz bo x jest różne od 2 if (x >= 3) //prawda bo x jest równe 3 if (x === 3) //prawda bo x jest równe 3 i jest tego samego typu co cyfra 3 if (x === "3") //fałsz bo x jest równe 3 ale nie jest typu znakowego if (x !== "3") / //prawda bo x jest równe 3 ale nie jest typu znakowego if ((x==3) ^ (y==3)) //prawda bo x jest równe 3 a y nie jest równe 3 (tylko 1 spełniony) if ((x==3) ^ (y==5)) //fałsz bo x jest równe 3 i y jest równe 5 9oba spełnione) if ((x==3) && (gettype(3)=='number')) //prawda, bo x jest równe 3 i x jest typu number if (!(x!=3)) //prawda, bo x nie nie jest równe 3 if (y % 2 == 0) //falsz, bo y nie jest liczbą parzystą