Proměnné JavaScriptu


Obsah

    Zobrazit obsah

Proměnné jsou kontejnery pro ukládání dat

Proměnné JavaScriptu lze deklarovat 4 způsoby:

  • Automaticky

  • Pomocí var

  • Pomocí let

  • Pomocí const

V tomto prvním příkladu x, y a z jsou nedeklarované proměnné.

Jsou automaticky deklarovány při prvním použití:

Příklad

x = 5;
y = 6;
z = x + y;

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Variables</h1>

<p>In this example, x, y, and z are undeclared.</p>
<p>They are automatically declared when first used.</p>

<p id="demo"></p>

<script>
x = 5;
y = 6;
z = x + y;
document.getElementById("demo").innerHTML =
"The value of z is: " + z;
</script>

</body>
</html>


Poznámka

Za dobrou programátorskou praxi se považuje vždy deklarovat proměnné před použitím.

Z příkladů můžete hádat:

  • x ukládá hodnotu 5

  • y ukládá hodnotu 6

  • z ukládá hodnotu 11

Příklad pomocí var

var x = 5;
var y = 6;
var z = x + y;

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Variables</h1>

<p>In this example, x, y, and z are variables.</p>

<p id="demo"></p>

<script>
var x = 5;
var y = 6;
var z = x + y;
document.getElementById("demo").innerHTML =
"The value of z is: " + z;
</script>

</body>
</html>


Poznámka

Klíčové slovo var bylo použito ve všech kódech JavaScript od roku 1995 do roku 2015.

Klíčová slova let a const byla do JavaScriptu přidána v roce 2015.

Klíčové slovo var by se mělo používat pouze v kódu napsaném pro starší prohlížeče.

Příklad pomocí let

let x = 5;
let y = 6;
let z = x + y;

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Variables</h1>

<p>In this example, x, y, and z are variables.</p>

<p id="demo"></p>

<script>
let x = 5;
let y = 6;
let z = x + y;
document.getElementById("demo").innerHTML =
"The value of z is: " + z;
</script>

</body>
</html>


Příklad pomocí konst

const x = 5;
const y = 6;
const z = x + y;

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Variables</h1>

<p>In this example, x, y, and z are variables.</p>

<p id="demo"></p>

<script>
const x = 5;
const y = 6;
const z = x + y;
document.getElementById("demo").innerHTML =
"The value of z is: " + z;
</script>

</body>
</html>


Smíšený příklad

const price1 = 5;
const price2 = 6;
let total = price1 + price2;

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Variables</h1>

<p>In this example, price1, price2, and total are variables.</p>

<p id="demo"></p>

<script>
const price1 = 5;
const price2 = 6;
let total = price1 + price2;
document.getElementById("demo").innerHTML =
"The total is: " + total;
</script>

</body>
</html>


Dvě proměnné price1 a price2 jsou deklarovány pomocí klíčového slova const.

Tyto hodnoty jsou konstantní a nelze je měnit.

Proměnná total je deklarována pomocí klíčového slova let.

Hodnotu total lze změnit.

Kdy použít var, let nebo const?

1. Vždy deklarujte proměnné

2. Pokud se hodnota nemá měnit, vždy použijte const

3. Vždy použijte const, pokud typ nemá být měněn (pole a objekty)

4. let použijte pouze v případě, že nemůžete použít const

5. var používejte pouze v případě, že MUSÍTE podporovat staré prohlížeče.


Stejně jako Algebra

Stejně jako v algebře mají proměnné hodnoty:

let x = 5;
let y = 6;

Stejně jako v algebře se proměnné používají ve výrazech:

let z = x + y;

Z výše uvedeného příkladu můžete uhodnout, že součet je vypočítán na 11.

Poznámka

Proměnné jsou kontejnery pro ukládání hodnot.



JavaScriptové identifikátory

Všechny proměnné JavaScriptu musí být identifikovaný pomocí jedinečných jmen.

Tyto jedinečné názvy se nazývají identifikátory.

Identifikátory mohou být krátké názvy (jako x a y) nebo popisnější názvy (věk, součet, celkový objem).

Obecná pravidla pro vytváření jmen pro proměnné (jedinečné identifikátory) jsou:

  • Jména mohou obsahovat písmena, číslice, podtržítka a znaky dolaru.

  • Jména musí začínat písmenem.

  • Názvy mohou také začínat znakem $a _ (v tomto tutoriálu ho ale nepoužijeme).

  • V názvech se rozlišují velká a malá písmena (y a Y jsou různé proměnné).

  • Vyhrazená slova (jako klíčová slova JavaScriptu) nelze použít jako názvy.

Poznámka

V identifikátorech JavaScriptu se rozlišují velká a malá písmena.


Operátor přiřazení

V JavaScriptu je rovnítko (=) operátorem "přiřazení", nikoli operátor "rovná se".

To se liší od algebry. Následující nedává smysl algebra:

x = x + 5 

V JavaScriptu to však dává dokonalý smysl: přiřadí hodnotu x + 5 to X.

(Vypočítá hodnotu x + 5 a výsledek vloží do x. Hodnota x se zvýší o 5.)

Poznámka

Operátor "rovná se" se v JavaScriptu zapisuje jako ==.


Datové typy JavaScriptu

Proměnné JavaScriptu mohou obsahovat čísla jako 100 a textové hodnoty jako „John Srna".

V programování se textové hodnoty nazývají textové řetězce.

JavaScript umí pracovat s mnoha typy dat, ale zatím si představte jen čísla a řetězce.

Řetězce jsou psány uvnitř dvojitých nebo jednoduchých uvozovek. Čísla jsou psána bez uvozovek.

Pokud vložíte číslo do uvozovek, bude s ním zacházeno jako s textovým řetězcem.

Příklad

const pi = 3.14;
let person = "John Doe";
let answer = 'Yes I am!';

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Variables</h1>

<p>Strings are written with quotes.</p>
<p>Numbers are written without quotes.</p>

<p id="demo"></p>

<script>
const pi = 3.14;
let person = "John Doe";
let answer = 'Yes I am!';

document.getElementById("demo").innerHTML =
pi + "<br>" + person + "<br>" + answer;
</script>

</body>
</html>



Deklarování proměnné JavaScriptu

Vytvoření proměnné v JavaScriptu se nazývá „deklarování“ proměnné.

Proměnnou JavaScriptu deklarujete pomocí klíčového slova var nebo let:

var carName;
let carName;

Po deklaraci nemá proměnná žádnou hodnotu (technicky je undefined).

Chcete-li proměnné přiřadit hodnotu, použijte rovnítko:

carName = "Volvo";

Můžete také přiřadit hodnotu proměnné, když ji deklarujete:

let carName = "Volvo";

V níže uvedeném příkladu vytvoříme proměnnou s názvem carName a přiřadíme jí hodnotu "Volvo" k tomu.

Poté „vypíšeme“ hodnotu uvnitř odstavce HTML s id="demo":

Příklad

<p id="demo"></p>
<script>
let carName = "Volvo";
document.getElementById("demo").innerHTML = carName; 
</script>

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Variables</h1>

<p>Create a variable, assign a value to it, and display it:</p>

<p id="demo"></p>

<script>
let carName = "Volvo";
document.getElementById("demo").innerHTML = carName;
</script>

</body>
</html>

Poznámka

Je dobrým programátorským postupem deklarovat všechny proměnné na začátku skriptu.


Jedno prohlášení, mnoho proměnných

V jednom příkazu můžete deklarovat mnoho proměnných.

Spusťte prohlášení pomocí let a oddělte proměnné čárkou:

Příklad

let person = "John Doe", carName = "Volvo", price = 200;

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Variables</h1>

<p>You can declare many variables in one statement.</p>

<p id="demo"></p>

<script>
let person = "John Doe", carName = "Volvo", price = 200;
document.getElementById("demo").innerHTML = carName;
</script>

</body>
</html>


Deklarace může zahrnovat více řádků:

Příklad

let person = "John Doe",
carName = "Volvo",
price = 200;

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Variables</h1>

<p>You can declare many variables in one statement.</p>

<p id="demo"></p>

<script>
let person = "John Doe",
carName = "Volvo",
price = 200;
document.getElementById("demo").innerHTML = carName;
</script>

</body>
</html>



Hodnota=nedefinováno

V počítačových programech jsou proměnné často deklarovány bez hodnoty. Hodnota může být něco, co se musí vypočítat, nebo něco, co bude poskytnuto později, jako uživatelský vstup.

Proměnná deklarovaná bez hodnoty bude mít hodnotu undefined.

Po provedení tohoto příkazu bude mít proměnná carName hodnotu undefined:

Příklad

let carName;

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Variables</h1>

<p>A variable without a value has the value of:</p>
<p id="demo"></p>

<script>
let carName;
document.getElementById("demo").innerHTML = carName;
</script>

</body>
</html>



Opětovné deklarování proměnných JavaScriptu

Pokud znovu deklarujete proměnnou JavaScriptu deklarovanou pomocí var, neztratí svou hodnotu.

Proměnná carName bude mít po provedení těchto příkazů stále hodnotu "Volvo":

Příklad

var carName = "Volvo";
var carName;

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Variables</h1>

<p>If you re-declare a JavaScript variable, it will not lose its value.</p>

<p id="demo"></p>

<script>
var carName = "Volvo";
var carName;
document.getElementById("demo").innerHTML = carName;
</script>

</body>
</html>


Poznámka

Nemůžete znovu deklarovat proměnnou deklarovanou pomocí let nebo const.

Toto nebude fungovat:

let carName = "Volvo";
let carName;

Aritmetika JavaScriptu

Stejně jako u algebry můžete provádět aritmetiku s proměnnými JavaScriptu pomocí operátory jako = a +:

Příklad

let x = 5 + 2 + 3;

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Variables</h1>

<p>The result of adding 5 + 2 + 3 is:</p>
<p id="demo"></p>

<script>
let x = 5 + 2 + 3;
document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>

Můžete také přidat řetězce, ale řetězce budou zřetězeny:

Příklad

let x = "John" + " " + "Doe";

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Variables</h1>

<p>The result of adding "John" + " " + "Doe" is:</p>
<p id="demo"></p>

<script>
let x = "John" + " " + "Doe";
document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>

Zkuste také toto:

Příklad

let x = "5" + 2 + 3;

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Variables</h1>

<p>The result of adding "5" + 2 + 3 is:</p>
<p id="demo"></p>

<script>
let x = "5" + 2 + 3;
document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>

Poznámka

Pokud vložíte číslo do uvozovek, zbytek čísel bude považován za řetězce a bude zřetězen.

Nyní zkuste toto:

Příklad

let x = 2 + 3 + "5";

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Variables</h1>

<p>The result of adding 2 + 3 + "5" is:</p>
<p id="demo"></p>

<script>
let x = 2 + 3 + "5";
document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>

JavaScript znak dolaru $

Protože JavaScript zachází se znakem dolaru jako s písmenem, identifikátory obsahující $jsou platnými názvy proměnných:

Příklad

let $ = "Hello World";
let $$$ = 2;
let $myMoney = 5;

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Variables</h1>

<p>The dollar sign is treated as a letter in JavaScript names.</p>

<p id="demo"></p>

<script>
let $$$ = 2;
let $myMoney = 5;
document.getElementById("demo").innerHTML = $$$ + $myMoney;
</script>

</body>
</html>

Používání znaku dolaru není v JavaScriptu příliš běžné, ale často jej používají profesionální programátoři jako alias pro hlavní funkci v knihovně JavaScript.

V JavaScriptové knihovně jQuery je například hlavní funkce $ se používá k výběru prvků HTML. V jQuery $ ("p"); znamená "vybrat všechny prvky p".


Podtržítko JavaScript (_)

Protože JavaScript považuje podtržítko za písmeno, identifikátory obsahující _ jsou platnými názvy proměnných:

Příklad

let _lastName = "Johnson";
let _x = 2;
let _100 = 5;

Zkuste to sami →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Variables</h1>

<p>The underscore is treated as a letter in JavaScript names.</p>

<p id="demo"></p>

<script>
let _x = 2;
let _100 = 5;

document.getElementById("demo").innerHTML = _x + _100;
</script>

</body>
</html>

Použití podtržítka není v JavaScriptu příliš běžné, ale konvencí mezi profesionálními programátory je používat jej jako alias pro "soukromé (skryté)" proměnné.