JavaProměnná skriptu: Declare, Assign a Value with Example
⚡ Chytré shrnutí
JavaProměnné skriptu ukládají hodnoty, jako jsou názvy a čísla, nebo výsledek výrazu. Deklarace proměnné pomocí var, let nebo const rezervuje pojmenovaný slot, který může zbytek skriptu číst a aktualizovat.

Proměnné se používají k ukládání hodnot (jméno = „John“) nebo výrazů (součet = x + y). Každá hodnota, kterou si skript uchovává pro pozdější použití – uživatelské jméno, průběžný součet, příznak ano/ne – se nachází v proměnné, takže jejich správná deklarace a pojmenování je první dovedností, kterou si musíte osvojit. JavaScénář.
Deklarovat proměnné v JavaScénář
Než použijete proměnnou, musíte ji nejprve deklarovat. K deklaraci proměnné je třeba použít klíčové slovo var takto:
var name;
Samotná deklarace vytváří název a nic víc. V tomto bodě proměnná existuje, ale má speciální hodnotu nedefinovanou, protože do ní ještě nebyla žádná hodnota vložena.
⚠️ Poznámka k verzi: var je původní klíčové slovo deklarace a stále běží v každém prohlížeči. Přidán ES6 (2015). nechat a const, což jsou klíčová slova moderní JavaPoužití skriptu. Obojí je porovnáno s var dále na této stránce.
Přiřaďte hodnotu proměnné
Hodnotu proměnné můžete přiřadit buď při deklaraci proměnné, nebo po deklaraci proměnné.
var name = "John";
OR
var name; name = "John";
Oba tvary končí stejným výsledkem. Jedno znaménko rovnosti je operátor přiřazení: zkopíruje hodnotu napravo do proměnné nalevo. Nejedná se o test rovnosti, který se píše == nebo === a patří do podmíněné příkazy.
Pojmenování proměnných
I když můžete proměnné pojmenovat libovolně, je dobrým programátorským postupem dávat proměnným popisné a smysluplné názvy. Názvy proměnných by navíc měly začínat písmenem a rozlišují velká a malá písmena. Proměnné studentname a studentName se proto liší, protože písmeno n v názvu je jiné (n a N).
Čtyři pravidla rozhodují o tom, zda je jméno vůbec legální:
- První znak musí být písmeno, znak dolaru nebo podtržítko – nikdy ne číslice.
- Za prvním znakem jsou povolena všechna písmena, číslice, znaky dolaru a podtržítka.
- Mezery nejsou povoleny, a proto se dvouslovný nápad spojuje jako studentName, a ne ponechává se jako dvě slova.
- Rezervovaná slova jako var, let, const, class a return nelze znovu použít jako názvy.
Podle konvence JavaNázvy skriptů používají camelCase, takže první slovo je malé a každé další slovo začíná velkým písmenem: firstName, totalPrice, isLoggedIn.
Níže uvedený skript deklaruje dvě proměnné, aplikuje na ně pět aritmetických operátorů a zapíše každý výsledek na stránku. Vyzkoušejte si to sami:
<html>
<head>
<title>Variables!!!</title>
<script type="text/javascript">
var one = 22;
var two = 3;
var add = one + two;
var minus = one - two;
var multiply = one * two;
var divide = one/two;
document.write("First No: = " + one + "<br />Second No: = " + two + " <br />");
document.write(one + " + " + two + " = " + add + "<br/>");
document.write(one + " - " + two + " = " + minus + "<br/>");
document.write(one + " * " + two + " = " + multiply + "<br/>");
document.write(one + " / " + two + " = " + divide + "<br/>");
</script>
</head>
<body>
</body>
</html>
var vs. let vs. const v Modernu JavaScénář
Pouze var existoval, když JavaSkript byl napsán poprvé a má dva zvyky, které překvapují i začátečníky: lze jej znovu deklarovat tiše a ignoruje hranice bloků. Pro opravu obou byly přidány klíčová slova let a const. Níže uvedená tabulka uvádí tři klíčová slova vedle sebe.
| Chování | byl | nechat | const |
|---|---|---|---|
| Rozsah | Celá funkce | Uzavírací blok | Uzavírací blok |
| Lze přeřadit | Ano | Ano | Ne |
| Lze znovu deklarovat ve stejném rozsahu | Ano | Ne | Ne |
| Požadovaná hodnota v řádku deklarace | Ne | Ne | Ano |
| Přečtěte si před jeho prohlášením | Vrací nedefinované | ReferenceError | ReferenceError |
Jednoduchý zvyk pokrývá téměř každý případ: sáhnout po const nejdříve přepněte na nechat v okamžiku, kdy se hodnota skutečně musí změnit, například čítač uvnitř jednoho z JavaSmyčky skriptůa ponechte var pro čtení starého kódu, nikoli pro psaní nového kódu.
Variabilní rozsah a zvedání v JavaScénář
Rozsah platnosti určuje, které části skriptu mohou proměnnou vidět. Deklarace var patří funkci, která ji obsahuje, takže eskapuje všechny bloky if nebo for uvnitř této funkce. Deklarace let nebo const patří dvojici závorek, ve kterých se nachází, a mimo ně mizí.
function demo() { if (true) { var wide = "visible throughout demo()"; let narrow = "visible only inside these braces"; } console.log(wide); console.log(narrow); }
První soubor console.log vypíše svůj řetězec. Druhý vyvolá chybu ReferenceError, protože po skončení bloku if již proměnná narrow neexistuje.
Zvedání je druhá polovina příběhu. JavaSkript zaregistruje každou deklaraci v oboru platnosti před spuštěním jediného řádku daného oboru platnosti. Název proměnné var je zaregistrován a nastaven na nedefinovanou hodnotu, takže její předčasné čtení je sice povolené, ale zbytečné. Název proměnné let nebo const je zaregistrován bez hodnoty a mezera mezi začátkem bloku a řádkem deklarace se nazývá dočasná mrtvá zóna.
console.log(a); var a = 1; console.log(b); let b = 2;
První řádek vypíše nedefinované. Třetí řádek končí chybou „Cannot access 'b' before initialization“ – chybou, která dělá let bezpečnějším než var, protože ukazuje na skutečnou chybu, místo aby ji skrývá.
Časté chyby při deklarování JavaProměnné skriptu
Pět zpráv představuje většinu výstupu do konzole, který začátečníci vidí při učení se proměnným. Každá z nich pojmenovává konkrétní příčinu, takže oprava je obvykle na jednom řádku.
| Zpráva konzole | Způsobit | Opravit |
|---|---|---|
| SyntaxError: Identifikátor 'x' již byl deklarován | let nebo const použito dvakrát pro stejný název v jednom bloku | Znovu použijte existující proměnnou nebo přejmenujte druhou |
| TypeError: Přiřazení konstantní proměnné | Konstantě byla přiřazena nová hodnota. | Pokud se má hodnota změnit, deklarujte ji pomocí let. |
| ReferenceError: Nelze přistupovat k 'x' před inicializací | Uvnitř časové mrtvé zóny byl přečten let nebo const. | Přesuňte čtený text pod řádek deklarace |
| ReferenceError: x není definováno | Jméno nebylo nikdy uvedeno, nebo bylo napsáno chybně. | Deklarujte to, nebo opravte pravopis a velká a malá písmena |
| Na místě, kde se očekávala hodnota, se objeví hodnota undefined | Proměnná byla deklarována, ale nikdy nebyla přiřazena | Přiřaďte hodnotu před prvním čtením |
Přidáním parametru „use strict“ na začátek souboru se tichá verze čtvrtého případu – přiřazení názvu, který nebyl nikdy deklarován – změní na viditelnou chybu, a proto patří do každého nového skriptu. Stejná pravidla pro proměnné se beze změny přenesou do pole, Objektya kód na straně serveru napsaný pro Node.js.
