Strona początkowa

Operatory

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:

Operatory Arytmetyczne

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
	

- - odejmowanie np.:
	37 - 3 = 34
	"35" - 3 = 32 //w odejmowaniu stara się zamienić na liczbę
	"35a" - 2 = NaN
	

/ - dzielenie np.:
	9 / 3 = 3
	9 / 2 = 4.5
	"9" / 2 = 4.5
	"9i" / 2 = NaN
	

* - mnożenie np.:
	9 * 2 = 18
	"9" * 2 = 18
	"9p" * 2 = NaN
	

% - modulo (reszta z dzielenia) np.:
	9 % 2 = 1
	"9" % 2 = 1
	-8 % 3 = -2
	"9i" % 2 = NaN
	

- - negacja np.:
	var zmienna = 5
	var zmienna2 =- zmienna //zmienna2 = -5
	

++ - inkrementacja np.:
	var zmienna = 10;
	zmienna++ //zwróci 11	
	var zmienna3 = "napis"
	zmienna3++ //zwróci NaN
	

-- - dekrementacja np.:
	var zmienna = 10;
	zmienna-- //zwróci 9	
	var zmienna3 = "napis"
	zmienna3-- //zwróci NaN
	

Operatory Przypisania

Rozróżniamy nestępujące operatory Przypisania:


= - na przykład:
	var zmienna = 2
	var zmienna2 = "napis"
	var zmienna3 = zmienna + zmienna2
	var zmienna4 = document.formularz.pole.value
	

+= - na przykład:
	zmienna += cena jest jednoznaczne z: zmienna = zmienna + cena
	var zmienna = 9;
	zmienna += 3 //zwróci 12	
	

-= - na przykład:
	zmienna -= cena jest jednoznaczne z: zmienna = zmienna - cena
	var zmienna = 9;
	zmienna -= 3 //zwróci 6	
	

*= - na przykład:
	zmienna *= cena jest jednoznaczne z: zmienna = zmienna * cena
	var zmienna = 9;
	zmienna *= 3 //zwróci 9	
	

/= - na przykład:
	zmienna /= cena jest jednoznaczne z: zmienna = zmienna / cena
	var zmienna = 9;
	zmienna /= 3 //zwróci 3	
	

%= - na przykład:
	zmienna %= cena jest jednoznaczne z: zmienna = zmienna % cena
	var zmienna = 9;
	zmienna %= 2 //zwróci 1
	

Operatory Porównania

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 == 30
	
zwró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 != 30
	
zwró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 > 30
	
zwró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 < 30
	
zwró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 >= 30
	
zwró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 => 30 
	
zwró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_2
	
zwró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_2 
	
zwró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

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

Przykłady użycia operatorów

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ą