Dáta a dátové typy, operátory
Dáta a dátove typy
Ako každý programovací jazyk, aj Javascript potrebuje na svoju efektívnu cinnost používat nejaké dáta. Tieto dáta sa ukladajú do premenných. Premennú môžme chápat ako schránku, v ktorej sú dáta uložené a pomocou jej názvu k týmto dátam pristupujeme. Obsah týchto premenných môžme aj menit.
Premenné deklarujeme pomocou klúcového slova var a názvu premennej, napr.:
var meno;
Premennú inicializujeme vložením hodnoty do premennej, co sa vykonáva pomocou operátora ‘=’, napr.: meno = “Vladko”;
*Poznámka: Operátor ‘=’ slúži na priradenie hodnoty premennej, nie na porovnanie premennej s nejakou hodnotou. To sa vykonáva operátorom ‘==’, ale k tomu sa dostaneme neskôr.
Premenné delíme podla druhu hodnoty v nej uloženej na tieto dátové typy:
- String – retazec znakov, používa sa na uloženie textu, pri inicializácii sa retazec vkladá v úvodzovkách (“text”)
- Number – predstavuje numerické hodnoty (císla celé aj desatinné), inicializuje sa bez úvodzoviek (23)
- Boolean – predstavuje logické hodnoty, môže obsahovat len dve možnosti, true (1) a false (0),
- Null – žiadna hodnota,
- Object – premenná je typu Object
Rovnako je tiež možné menit typ uložených dát, comu sa hovorí pretypovanie.
Na pretypovanie z retazca na císlo má Javascript dve funkcie:
parseInt() – slúži na prekonvertovanie retazca na celé cislo
parseFloat() – slúži na prekonvertovanie retazca na desatinné císlo
Pretypovanie z císla na retazec:
vykonáva sa pripocítaním retazca k císlu – napr. aj prázdneho (“”+14 nám vytvorí retazec “14″)
Priklad:
var a = “10″;
var b = 4;
alert(a + b); // zobrazí dialógové okno s retazcom “104″
alert(parseInt(a) + b); // zobrazí dialógové okno s císlom 14
</script>
Operátory
Na prácu s dátami sa používajú operátory. Väcšinu operátorov používame aj v bežnom živote, napríklad +, -, =. Niektoré pozostávajú z jedného, iné z viacerých znakov. Niektoré majú význam shodný s tým, na co sme zvyknutí, niektoré odlišný. Všetky tieto príklady si ukážeme v tejto casti urcenej operátorom.
Operátory delíme do niekolkých skupín, urcených podla použitia operátorov. Sú to tieto:
Aritmetické:
| Operátor | Príklad | Popis |
|---|---|---|
| + | c = a + b; | scíta dve císla dokopy |
| ++ | a++; , ++a; c = a++; // c = a; a = a + 1; c = ++a; // a = a + 1; c = a; |
inkrementácia – zvýši hodnotu premennú o 1, premenná musí byt císlo rozdiel medzi ++a a a++ je v tom, ze ++a najprv inkrementuje hodnotu a a potom s novou hodnotou pracuje, a a++ najprv použije pôvodnú hodnotu a a až potom ju inkrementuje |
| - | c = a – b; | odcíta dve císla |
| – | a–; , –a; | dekrementácia – zmenší hodnotu premennej o 1, funguje podobne ako ++ |
| * | c = a * b; | vynásobí dve císla |
| / | c = a / b; | vydelí dve císla |
| % | c = a % b; // a=8; b=3; => c bude 2 |
modulo – vráti zvyšok po delení dvoch celých císel |
Retazové:
| Operátor | Príklad | Popis |
|---|---|---|
| + | c = a + b; | zlúci (zretazí) dva retazce dokopy a výsledok uloží do premennej c |
| += | a += b; | k retazcu a pripojí retazec b |
Logické:
| Operátor | Príklad | Popis |
|---|---|---|
| && | c = a && b; | vracia hodnotu true len ak majú oba operandy hodnotu true, inak vracia false |
| || | c = a || b; | vracia true, ak aspon jeden z operandov má hodnotu true, inak vracia false |
| ! | c = !a; | vracia true, ak operand má hodnotu false, a naopak |
Bitové:
| Operátor | Príklad | Popis |
|---|---|---|
| & | c = a & b; // a = 111001, b=111001 => c = 111001 |
bitové AND, vracia hodnotu 1 všade tam, kde bity oboch operandov majú hodnotu 1 |
| ^ | c = a ^ b; // a = 111001, b=111001 => c = 000000 |
bitové XOR, vracia hodnotu 1 práve vtedy ak má hodnotu 1 práve jeden z operandov |
| | | c = a | b; // a = 111001, b=111001 => c = 111001 |
bitové OR, vracia hodnotu 1 ak aspon jeden z porovnávaných bitov je 1 |
| ~ | b = ~a; // a=10010, b = ~a, => b=01101 |
bitové NOT, urobí negáciu všetkých bitov |
| << | c = a << x; | bitový posun vlavo, bity operandu sa posunú do lava o urcený poct miest(x) a z pravej strany sa doplnia 0 |
| >> | c = a >> x; | bitový posun vpravo, bity operandu sa posunú do prava o x miest a z lavej strany sa doplnia 0, zachováva znamienko |
| >>> | c = a >>> x; | bitový posun vpravo, bity operandu sa posunú do prava o x miest a z lavej strany sa doplnia 0, nezachováva znamienko |
Operátory priradenia:
| Operátor | Príklad | Popis |
|---|---|---|
| = | a = b; | priradí hodnotu premennej b do premennej a, pozor! nezamienat s operátorom porovnania (==) |
| += | a += b; // ekvivalent a = a + b; |
spocíta hodnoty uložené v premenných a a b a výsledokuloží do a |
| -= | a -= b; | odcíta hodnoty v a a b a výsledok uloží do a |
| *= | a *= b; | vynásobí hodnoty v a a b a výsledok uložído a |
| /= | a /= b; | vydelí hodnotu v premennej a hodnotou v b a výsledok uloží do a |
| %= | a %= b; | na operátoroch a a b vykoná operáciu modulo (%) a výsledok (zvyšok po delení) uloží do a |
| &= | a &= b; | urobí medzi premennými a a b operáciu bitového AND a výsledok uloží do premennej a |
| ^= | a ^= b; | urobí medzi premennými a a b operáciu bitového XOR a výsledok uloží do premennej a |
| |= | a |= b; | urobí medzi premennými a a b operáciu bitového OR a výsledok uloží do premennej a |
| <<= | a <<= x; | s premennou a vykoná operáciu bitový posun o x miest vlavo a výsledok uloží do a |
| >>= | a >>= x; | s premennou a vykoná operáciu bitový posun o x miest vpravo (zachováva znamienko) a výsledok uloží do a |
| >>>= | a >>>= x; | s premennou a vykoná operáciu bitový posun o x miest vpravo (nezachováva znamienko) a výsledok uloží do a |
Relacné:
| Operátor | Príklad | Popis |
|---|---|---|
| == | a == b // a=3; b=”3″; => a==b vráti true |
porovná operátory a a b, ak je ich hodnota rovnaká, vráti true, inak false |
| === | a === b a=3; b=”3″; => a===b vrati false |
porovná hodnotu aj typ operátorov a a b, ak sa zhodujú, vráti true, inak false |
| != | a != b | ak a je rozne od b, vráti true, inak false |
| !== | a !== b | ak sa premenná a líši od premennej b v type, hodnote alebo oboch vráti true, inak false |
| > | a > b | vracia true, ak hodnota a je väcšia ako b, inak false |
| >= | a >= b; | vracia true, ak hodnota a je väcšia alebo rovná ako b, inak false |
| < | a < b | vracia true, ak hodnota a je menšia ako b, inak false |
| <= | a <= b; | vracia true, ak hodnota a je menšia alebo rovná ako b, inak false |
Špeciálne:
| Operátor | Príklad | Popis |
|---|---|---|
| ? : | výraz ? [true] : [false] // (a < b)? “a<b” : “a >b”; |
vyhodnotí výraz a podla toho ci je jeho hodnota true sa vykoná prvá cast([true]), inak cast [false], nazýva sa tiež terárny operátor alebo podmienkový operátor |
Priorita operátorov:
Ak sa vo výraze nachádza viac operátorov, vyhodnocujú sa v urcitom poradí, ktoré si teraz napíšeme:
| Operátory v jednom riadku majú rovnakú prioritu, a v prípade výskytu v jednom výraze sa vykonávajú zlava do prava. Priorita je najvyššia v prvom riadku a postupne klesá |
|---|
| . [] () |
| ++ — ~ ! |
| * / % |
| + – +(spájanie retazcov) |
| << >> >>> |
| < <= > >= |
| == != === !== |
| & |
| ^ |
| | |
| && |
| || |
| ?: |
| = += -= *= %= /= &= |= ^= <<= >>= >>>= |
| , |