JavaScript umožňuje Vs var (s příklady)

V tomto kurzu se na příkladech dozvíte o rozdílech mezi let a var v JavaScriptu.

V JavaScriptu, jak klíčová slova vara letjsou používány deklarovat proměnné.

letKlíčových slov byl představen v novější verzi JavaScriptu známé jako ES6 (ES2015) . A je to upřednostňovaný způsob deklarace proměnných.

JavaScript umožňuje Vs var

Zde je přehled rozdílů mezi leta var.

nechat var
let je blokovaný. var je rozsah působnosti.
let neumožňuje znovu deklarovat proměnné. var umožňuje znovu deklarovat proměnné.
K zvedání nedochází v let. K zvedání dochází u var.

JavaScript umožňuje Vs var v místním rozsahu

var je rozsah působnosti

Proměnnou deklarovanou uvnitř funkce s varlze použít kdekoli v rámci funkce. Například,

 // program to print text // variable a cannot be used here function greet() ( // variable a can be used here var a = 'hello'; console.log(a); ) // variable a cannot be used here greet(); // hello

Ve výše uvedeném programu je proměnná a deklarována pomocí var. Proměnnou a lze použít kdekoli uvnitř funkce greet.

let je blokovaný

Proměnná deklarovaná pomocí letje přístupná pouze uvnitř bloku kódu. Například,

 // program to print the text // variable a cannot be used here function greet() ( let a = 'hello'; // variable b cannot be used here if(a == 'hello')( // variable b can be used here let b = 'world'; console.log(a + ' ' + b); ) // variable b cannot be used here console.log(a + ' ' + b); // error ) // variable a cannot be used here greet();

Výstup

 ahoj svět Uncaught ReferenceError: b není definováno

Ve výše uvedeném programu je proměnná a deklarována uvnitř funkce a lze k ní přistupovat kdekoli uvnitř funkce (a stane se rozsahem funkce).

Proměnná b je však deklarována uvnitř příkazu ifbloku. b bude blokově vymezeno a lze k němu přistupovat pouze uvnitř ifbloku.

Proto při pokusu o přístup k b mimo ifblok dojde k chybě (jak je uvedeno výše v programu).

Poznámka : Proměnné deklarované uvnitř funkce budou mít rozsah funkcí pro obě vara let.

let neumožňuje znovu deklarovat proměnné

1. Proměnnou deklarovanou pomocí varlze znovu deklarovat. Například,

 var a = 5; // 5 var a = 3; // 3

Proměnnou deklarovanou pomocí letnelze znovu deklarovat ve stejném bloku nebo ve stejném rozsahu. Například,

 let a = 5; let a = 3; // error 

Výstup

 Uncaught SyntaxError: Identifikátor 'a' již byl deklarován

2. Redeklarování proměnné s varv jiném rozsahu nebo bloku změní také hodnotu vnější proměnné. Například,

 var a = 5; console.log(a); // 5 ( var a = 3; console.log(a); // 3 ) console.log(a); // 3

Redeclaring a variable letin in a different scope or block treats that variable as a different variable. A hodnota proměnné venku se nemění. Například,

 let a = 5; console.log(a); // 5 ( let a = 3; console.log(a); // 3 ) console.log(a); // 5

3. Když se proměnná deklarovaná pomocí varpoužije ve smyčce, změní se hodnota této proměnné. Například,

 var a = 2; for(var a = 0; a < 3; a++) ( console.log('hello'); ) console.log(a); // 3

Ve výše uvedeném programu forsmyčka znovu deklaruje proměnnou a. Proto se hodnota na konci azmění na 3 .

Když se ve smyčce použije proměnná deklarovaná pomocí let , hodnota proměnné se nezmění. Například,

 let a = 2; for(let a = 0; a < 3; a++) ( console.log('hello'); ) console.log(a); // 2

Ve výše uvedeném programu forsmyčka zachází s proměnnou a jako s jinou proměnnou, než je deklarována výše. A rozsah této proměnné je pouze uvnitř forsmyčky. Proto je hodnota proměnné zůstává 2 na konci.

let neumožňuje zvedání

Proměnné deklarované pomocí varjsou zvednuty na začátek rozsahu programu. Například,

 console.log(a); var a; // undefined (not an error)

Klíčové slovo letneumožňuje zvedání. Například,

 console.log(a); let a; // Uncaught ReferenceError: a is not defined

Pokud se chcete o zvedání dozvědět více, navštivte JavaScript Zvedání.

let and var Podpora prohlížeče

Většina moderních prohlížečů podporuje použití let. Některé prohlížeče však plně nepodporují let.

Chcete-li se dozvědět více, navštivte JavaScript a nechte podporu prohlížeče.

Poznámka : V případě globálním měřítku, a to jak vara letbude chovat stejným způsobem. Například,

 var a = 5; // 5

Proměnná a bude mít globální rozsah a lze k ní přistupovat kdekoli v programu.

 let a = 5; // 5

Proměnná a bude mít globální rozsah a lze k ní přistupovat kdekoli v programu.

Zajímavé články...