V tomto tutoriálu se budeme zabývat různými metodami deklarace proměnných v JavaScriptu, zejména klíčovými slovy let a const standardu ES6 v porovnání s var, které do ES5 představovalo jediný způsob, jak vytvářet proměnné. Mnoho vývojářů se při používání var setkalo s neočekávaným chováním, které vedlo k chybám. Tato lekce ti pomůže porozumět moderním metodám a zajistit, že proměnné efektivně deklaruješ a používáš.
Hlavní poznatky
Nové deklarace proměnných let a const nabízejí výhody z hlediska scope, viditelnosti a bezpečnosti používání proměnných. let umožňuje použití proměnné v rámci blokového scope, zatímco const vytváří neměnnou přiřazení.
Pokyny krok za krokem
Deklarace proměnných
Abychom efektivně pracovali s proměnnými v JavaScriptu, nejprve prozkoumáme deklaraci proměnných pomocí var, let a const. Začněme souborem main.js, který je integrován do tvého HTML dokumentu.

Zde použijeme klíčové slovo var k deklaraci proměnné. Vytvoříme proměnnou s názvem W a přiřadíme jí počáteční hodnotu.
Chování var
Typické chování var je, že proměnná je viditelná i v případě, že ji inicializuješ později v kódu. Pojďme to otestovat:
Uložím výstup do konzole C před inicializací. Očekávej výsledek, když nastavím proměnnou C na 0. Ve výstupu by se mělo objevit undefined, protože hodnota je nastavena až po řádku s přiřazením.
Zavedení let
Teď se podíváme na let. Abychom ukázali rozdíl, nahraď var za let a inicializuj proměnnou C přímo s let C = 0.
Když se pokusím použít C před přiřazením, dostanu chybovou zprávu, že přistupuji k neinicializované proměnné. Toto chování zajišťuje, že vždy dostaneš chybu, když se pokusíš přistoupit k nedefinované proměnné.

Blokový scope s let
Další výhodou let je možnost deklarovat proměnnou v rámci blokového scope. Použijeme k tomu if-Statement:
Pokud vytvořím let C = -1 uvnitř bloku if, tato proměnná je viditelná pouze v tomto blokovém scope. Když se pokusím použít C mimo blok, dostanu chybu.

Použití const
Dalším krokem je použití const. Kdybych použil const namísto let, vytvořil bych konstantní proměnnou, kterou již nelze změnit.
Pokud se pokusím znovu přiřadit C po přiřazení const C = 0, zobrazí se mi zpráva, že nemohu přiřadit novou hodnotu konstantní proměnné.
Nemenitelné objekty s const
Když použijeme const k deklaraci objektu, samotný objekt lze stále měnit, ale nikoli reference. Můžu do objektu přidávat prvky, aniž bych měl další problémy.
Best Practices pro použití let a const
Na základě mé zkušenosti doporučuji používat defaultně const, pokud si nejsi jistý, že hodnotu proměnné budeš muset později změnit. Tato praxe vede k lépe čitelnému a udržovatelnému kódu.
Použij let, když je potřeba změnit hodnotu v rámci blokového scope. Příkladem by mohla být počítací proměnná ve smyčce.
Shrnutí – Deklarace proměnných v JavaScriptu: let a const versus var
Na závěr jsme prozkoumali rozdíly mezi var, let a const. let a const nabízejí zásadní zlepšení z hlediska scope a bezpečnosti proměnných. Zatímco var je globální nebo funkční, let a const zajišťují viditelnost v rámci blokového scope. Kromě toho const zajišťuje neměnnost přiřazení, což snižuje chyby a neočekávané chování v kódu.
Často kladené otázky
Jak deklaruji proměnnou v JavaScriptu?Proměnnou v JavaScriptu můžeš deklarovat pomocí klíčových slov var, let nebo const.
Jaký je rozdíl mezi let a var?let umožňuje deklaraci proměnných, které jsou viditelné pouze v rámci blokového scope, zatímco var je viditelný globálně.
Kdy bych měl použít const?const by měl být použit, pokud si jsi jistý, že hodnota proměnné během běhu programu nesmí být změněna.
Co se stane, když se pokusím přiřadit konstantu znovu?Obdržíš chybu, protože proměnná const nemůže být změněna.
Mohu měnit objekty pomocí const?Ano, můžeš měnit vlastnosti objektu, který byl deklarován pomocí const, ale nikoli referenci na samotný objekt.