Tento díl výuky JavaScriptu bude pojednávat o základních stavebních kamenech každého programu – tím jsou proměnné a jejich datové typy. Uvedeny budou také některá základní pravidla pro práci s proměnnými a s ne zcela běžnými hodnotami.

Vzhledem k tomu, že vyčerpávající pojednání o datových typech, proměnných, operátorech a všech příbuzných pojmech by bylo velice dlouhé a nudné, pokusím se zaměřit na podstatné charakteristiky jazyka. Následující výklad si tedy neklade za cíl popsat všechny podrobnosti, ale mohu zodpovědně prohlásit, že postačí k řešení asi 98 % úkolů, které s použitím proměnných a základních datových typů souvisejí.

Stejně jako v jiných programovacích jazycích i v JavaScriptu slouží proměnné k uchovávání hodnot ve skriptech k jejich dalšímu zpracování. Patří k dobrým zvykům proměnnou před prvním použitím deklarovat. K tomu slouží klíčové slovo var. Následuje několik příkladů deklarace proměnných, jimž je zároveň (s výjimkou posledního případu) přiřazena inicializační hodnota:

var cislo = 5;
var pravda = true;
var retezec = „Textový řetězec“;
var dalsi_cislo = 3.14;
var promenna;

JavaScript nevyžaduje deklaraci klíčovým slovem var, ale pro přehlednost kódu se tato explicitní deklarace doporučuje. Jedinou výjimkou je případ deklarace lokální proměnné ve funkci – tam je explicitní deklarace povinná. Lokální proměnné je možné používat pouze ve funkci (funkcemi se budeme zabývat v jednom z pozdějších dílů). Mimo „svou“ funkci je lokální proměnná nedostupná. Příklad tzv. implicitní deklarace přiřazením hodnoty:

alfa = „text“;

Jaké znaky může obsahovat název proměnné? Z obsáhlé názvové konvence většinou postačí pamatovat si základní pravidla:

  • veškeré identifikátory (nejen názvy proměnných) jsou v JavaScriptu case sensitive – to znamená, že se rozlišují malá a velká písmena
  • názvy proměnných mohou obsahovat písmena, číslice, znak podtržítko (_) nebo dolar ($)
  • název proměnné nesmí začínat číslicí

Více se dozvíte v článcích JavaScript – názvy proměnných a JavaScript – úvod do proměnných.

V příkladech deklarací proměnných jste si jistě všimli toho, že hodnoty přiřazované do proměnných jsou různých typů (čísla, texty apod.). Nastává správná chvíle popsat datové typy, které je možné v JavaScriptu používat. Základními datovými typy v JavaScriptu jsou číslo (Number), textový řetězec (String), Boolean a Object. Objektovými datovými typy se však budeme zabývat později.

Number

Tento datový typ obsahuje kladná, záporná, celá čísla i čísla s desetinnou tečkou. Aby toho nebylo dost, je možné čísla zadávat v jejich dekadické, osmičkové nebo hexadecimální reprezentaci. Jak lze tedy proměnné cislo přiřadit hodnotu 16? Zde je několik příkladů:

var cislo = 16;         // dekadická reprezentace
var cislo = 4 * 4;
var cislo = 0x10;      // hexadecimální reprezentace
var cislo = 020;       // osmičková reprezentace

Zvláště poslednímu řádku uvedeného příkladu věnujte pozornost. Pokud datový typ Number začíná číslicí 0 (nenásledovanou písmenem x), jedná se o osmičkovou reprezentaci čísla. To může být častým zdrojem chyb. Sám s tím mám neblahé zkušenosti.

Příklad jaksi mimochodem demonstruje i možnost vkládání komentářů do kódu JavaScriptu. Pokud kód obsahuje dvě lomítka, vše od nich až do konce řádku se bere jako komentář a při provádění kódu se ignoruje. Při ladění skriptů lze tedy „zakomentování“ některých programových řádků výhodně využít.

Kromě skutečných čísel je možné do proměnných datového typu Number přiřazovat i speciální hodnoty:

  • NaN – vyjadřuje zkratku Not a Number (není číslo).
  • Infinity – nekonečno, které vzniká po dělení nulou. Dělení nulou je tedy v JavaScriptu přípustné. Nekonečno může být kladné nebo záporné (+Infinity nebo -Infinity).

Abyste si vyzkoušeli práci s těmito hodnotami, spusťte následující příklad. Pro jistotu zdůrazňuji, že příklad pracuje výhradně s datovým typem Number:

<script language=“JavaScript“>
  alert(6/“a“);       // výsledek je NaN
  alert(20/0);       // výsledek je Infinity
  alert(-20/0);       // výsledek je -Infinity
  alert(20/Infinity);       // výsledek je 0
  alert(Infinity/Infinity);       // výsledek je NaN
  alert(NaN/5);       // výsledek je NaN
  alert(020);       // výsledek je 16
</script>

String

Textový řetězec může obsahovat libovolné znaky – ty se uzavírají buď do uvozovek („) nebo apostrofů (‚). Pokud chcete, aby řetězec obsahoval apostrofy, uzavřete řetězec do uvozovek a naopak. Vyzkoušejte následující příklad:

<script language=“JavaScript“>
  alert(„‚Text'“);
  alert(‚“Text“‚);
</script>

Boolean

Jedná se o datový typ, který může nabývat pouze jedné ze dvou hodnot: true nebo false. Datový typ se – stejně jako v jiných programovacích jazycích – používá především v podmínkových výrazech. Těmi se budeme zabývat v jednom z příštích dílů.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět