<<< PŘEDCHOZÍ           DALŠÍ >>>


Deklarace proměnných a datové typy

Proměnná je pojmenované paměťové místo. Obsah tohoto paměťového místa je zvykem nazývat hodnotou proměnné a lze jej přepisovat. Proměnné jsou nedílnou součástí téměř veškerých skriptů a právě v tom spočívá jejich důležitost.

Názvy proměnných v JavaScriptu musí začínat písmenem nebo _ (podtržítkem) a nesmí být rezervovaná slova. Rezervované slovo je buď klíčové slovo a nebo slovo o kterém se předpokládá, že by se v budoucnosti mohlo klíčovým stát. Jejich seznam najdete v příloze.

JavaScript je case-sensitive, to znamená, že rozlišuje malá a velká písmena. Tedy SUM, Sum a sum jsou všechno platné názvy proměnných, patřících ovšem různým proměnným. V Pascalu, který mezi velkými a malými písmeny nedělá rozdíly, by se jednalo o jednu proměnnou. JavaScript je citlivý na dodržování malých a velkých písmen i u příkazů.

Deklarace proměnných v JavaScriptu není povinná, ale nejen kvůli přehlednosti je lepší všechny proměnné deklarovat pomocí klíčového slova var. Většinou se proměnné přímo při deklaraci nastavují na smysluplnou počáteční hodnotu nebo na speciální hodnotu null. Deklarovat proměnnou lze kdekoliv v programu, ale zpravidla se to dělá hned na jeho začátku. Prohlédněte si pozorně následné ukázky deklarací:

var x = 4 // deklarace proměnné x na počáteční hodnotu 4

var s = "23" // deklarace proměnné s na počáteční hodnotu "23"

var u, v // deklace proměnných u a v, nedoporučuje se

var z = null // deklarace proměnné z na speciální hodnotu null

Jak jste si určitě všimli v deklaraci není uveden ani u jedné proměnné datový typ. Mají tedy vůbec nějaký? A jaké jsou vlastně datové typy JavaScriptu?

Odpověď na první otázku je ano, ale ? . Intuitivně byste jistě řekli, že x je číslo a y řetězec. Vaše intuice však není zcela správná. Zatím se s tím netrapte a věřte své intuici. Jak to opravdu je bude vysvětleno později (v části konverze typů).

Nyní se pokusím odpovědět na druhou otázku. V JavaScriptu existuje pět hlavních kategorií implicitních datových typů. Každému z nich je věnován jeden z následujících odstavečků.

Číslo (number), např. 45 nebo 5.7. V JavaScriptu existují jak desetinná tak celá čísla. Celá čísla mohou být určena ve formátu se základem 10 (desítkovém), 8 (osmičkové) a 16 (hexadecimálním). 1 až 9 následovaná jakýmkoliv souborem číslic je desítkové celé číslo, 0 následovaná libovolným souborem číslic 0 až 7 je osmičkové celé číslo, 0x nebo 0X následovaná 0 až 9, a až f nebo A až F je hexadecimální celé číslo. Při deklaraci lze tedy například psát var x = 0Xa1.

Řetězec (string), např. "12" nebo 'ahoj'. Řetězce v JavaScriptu mohou být uvozeny buď v jednoduchých uvozovkách 'řetězec' nebo ve dvojitých uvozovkách "řetězec". Řetězce mohou být pomocí střídání typů uvozovek do sebe vnořeny. Speciální řetězce '' nebo "" jsou řetězce nulové délky (prázdné řetězce).

Logická hodnota (boolean), true nebo false. True je “ekvivalentní” libovolnému nenulovému číslu a false nule.

Speciální hodnota null. Má v jazyku JavaScript velmi zvláštní roli. Je to volně řečeno hodnota posledního útočiště každé proměnné. Používá se v deklaci (viz. výše). Hodnota null nepřiřazuje proměnné žádný implicitní datový typ. Může být konvertována (převedena) do vhodného tvaru předešlých typů. Jestliže je konvertována na číslo, stává se číslem 0, jestliže je konvertována na řetězec, stává se řetězcem "null" a konečně v případě, že je konvertována na logickou hodnotu, stává se hodnotou false.

Objekt (object). Objektům jsou věnovány dvě samostatné kapitoly knihy.


<<< PŘEDCHOZÍ           DALŠÍ >>>