JavaScript Let
Klíčové let
slovo bylo představeno v
ES6 (2015) .
Proměnné definované pomocí let
nelze znovu deklarovat.
Proměnné definované pomocí let
musí být před použitím deklarovány.
Proměnné definované pomocí let
mají rozsah bloku.
Nelze znovu deklarovat
Proměnné definované pomocí let
nelze znovu deklarovat .
Nemůžete náhodně znovu deklarovat proměnnou.
S let
tímto nemůžete:
Příklad
let x = "John Doe";
let x = 0;
// SyntaxError: 'x' has already been declared
S var
tím můžete:
Příklad
var x = "John Doe";
var x = 0;
Rozsah bloku
Před ES6 (2015) měl JavaScript pouze globální rozsah a rozsah funkcí .
ES6 představil dvě důležitá nová klíčová slova JavaScript: let
a const
.
Tato dvě klíčová slova poskytují v JavaScriptu rozsah bloku .
K proměnným deklarovaným uvnitř bloku { } nelze přistupovat zvenčí bloku:
Příklad
{
let x = 2;
}
// x can NOT be used here
Proměnné deklarované pomocí var
klíčového slova NEMOHOU mít rozsah bloku.
K proměnným deklarovaným uvnitř bloku { } lze přistupovat zvenčí bloku.
Příklad
{
var x = 2;
}
// x CAN be used here
Opětovná deklarace proměnných
Opětovná deklarace proměnné pomocí var
klíčového slova může způsobit problémy.
Opětovná deklarace proměnné uvnitř bloku také znovu deklaruje proměnnou mimo blok:
Příklad
var x = 10;
// Here x is 10
{
var x = 2;
// Here x is 2
}
// Here x is 2
let
Tento problém může vyřešit opětovná deklarace proměnné pomocí klíčového slova.
Opětovná deklarace proměnné uvnitř bloku nebude znovu deklarovat proměnnou mimo blok:
Příklad
let x = 10;
// Here x is 10
{
let x = 2;
// Here x is 2
}
// Here x is 10
Podpora prohlížeče
Klíčové let
slovo není plně podporováno v aplikaci Internet Explorer 11 nebo starší.
Následující tabulka definuje první verze prohlížeče s plnou podporou let
klíčového slova:
Chrome 49 | Edge 12 | Firefox 44 | Safari 11 | Opera 36 |
Mar, 2016 | Jul, 2015 | Jan, 2015 | Sep, 2017 | Mar, 2016 |
Opětovná deklarace
Opětovná deklarace proměnné JavaScriptu pomocí var
je povolena kdekoli v programu:
Příklad
var x = 2;
// Now x is 2
var x = 3;
// Now x is 3
S let
, opětovné deklarování proměnné ve stejném bloku NENÍ povoleno:
Příklad
var x = 2; // Allowed
let x = 3; // Not allowed
{
let x = 2; // Allowed
let x = 3 // Not allowed
}
{
let x = 2; // Allowed
var x = 3 // Not allowed
}
Opětovné deklarování proměnné pomocí let
, v jiném bloku, JE povoleno:
Příklad
let x = 2; // Allowed
{
let x = 3; // Allowed
}
{
let x = 4; // Allowed
}
Nechte zdvihání
Proměnné definované pomocí var
jsou zvednuty nahoru a lze je kdykoli inicializovat.
Význam: Proměnnou můžete použít před jejím deklarováním:
Příklad
Toto je v pořádku:
carName = "Volvo";
var carName;
Pokud se chcete o zdvihání dozvědět více, prostudujte si kapitolu JavaScript zdvihání .
Proměnné definované pomocí let
jsou také zvednuty do horní části bloku, ale nejsou inicializovány.
Význam: Použití let
proměnné před jejím deklarováním bude mít za následek
ReferenceError
:
Příklad
carName = "Saab";
let carName = "Volvo";