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.

  • 🔘 Prohlášení: Klíčové slovo var, let nebo const vytvoří název předtím, než jej jakýkoli řádek kódu přečte nebo zapíše.
  • ☑️ Úkol: Jedno znaménko rovnosti zkopíruje hodnotu do proměnné, buď na deklaračním řádku, nebo později.
  • (Tj. Pojmenování: Názvy začínají písmenem, znakem dolaru nebo podtržítkem a velká a malá písmena se počítají odlišně.
  • 🧪 Moderní klíčová slova: const vyhovuje hodnotám, které se nikdy nemění, let hodnotám, které se mění, a var přežívá hlavně ve starších skriptech.
  • 🛠️ Rozsah: Funkce let a const zůstávají uvnitř svých uzavírajících závorek, zatímco funkce var se vztahuje k celé okolní funkci.
  • 📌 Běžné závady: Znovu přiřazení konstanty, příliš brzké čtení let nebo vynechání klíčového slova vyvolávají odlišnou chybu.

Prohlášení JavaProměnná skriptu a přiřazení hodnoty k ní

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í:

  1. První znak musí být písmeno, znak dolaru nebo podtržítko – nikdy ne číslice.
  2. Za prvním znakem jsou povolena všechna písmena, číslice, znaky dolaru a podtržítka.
  3. Mezery nejsou povoleny, a proto se dvouslovný nápad spojuje jako studentName, a ne ponechává se jako dvě slova.
  4. 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.

Nejčastější dotazy

Kterýkoli z nich. JavaSkript je dynamicky typovaný, takže jedna proměnná může obsahovat číslo, poté řetězec a nakonec objekt. Deklarace si rezervuje název, nikoli typ. Pomocí funkce typeof můžete v daném okamžiku zkontrolovat, co proměnná obsahuje.

JavaSkript vytváří implicitní globální proměnnou, kterou může jiný kód omylem přepsat. Přidáním parametru „use strict“ na začátek souboru se stejný řádek stane chyba ReferenceError, takže se chyba zobrazí okamžitě, místo aby se šířila tiše.

„undefined“ znamená, že proměnná byla deklarována, ale nikdy jí nebyla přiřazena hodnota. „null“ je hodnota, kterou záměrně přiřadíte, aby znamenala „nic zde“. Obě jsou nepravdivé, ale typeof undefined vrací „undefined“, zatímco typeof null vrací „object“.

Operátor plus spojuje text vždy, když je kterákoli strana řetězcem, takže 22 + „3“ vrátí „223“. Pokud se jedná o aritmetické operace, nejprve převeďte pomocí Number() nebo parseInt().traction nemá textový význam, takže „3“ − 1 správně vrátí 2.

Ano. const zamyká vazbu, nikoli hodnotu, takže vlastnosti objektu const a prvky pole const se stále mohou měnit. Znovu přiřazení samotné proměnné vyvolá chybu TypeError. Pokud musí obsah zůstat pevný, použijte Object.freeze().

Asistenti umělé inteligence zabudovaní do moderních editorů navrhují klíčové slovo a popisný název z okolního kontextu, označují proměnnou, která by měla být konstanta, a přejmenují každé použití v jednom kroku. Každý návrh považují za koncept a ověřují správnost rozsahu.

Často ano. Druhý pilot čte okolní kód a nabízí názvy odpovídající okolnímu stylu, což pomáhá nahradit zástupné symboly jako x nebo temp. RevProhlédněte si každé jméno, protože plynulý návrh může stále popisovat něco nesprávného.

Funkce console.log() vypíše aktuální hodnotu do konzole prohlížeče. Pro bližší pohled nastavte zarážku v panelu Zdroje v nástrojích DevTools a najeďte myší na název nebo jej přidejte do seznamu sledovaných položek, čímž si přečtete hodnotu přesně na daném řádku.

Shrňte tento příspěvek takto: