JavaScript lasă Vs var (cu exemple)

În acest tutorial, veți afla despre diferența dintre let și var în JavaScript cu ajutorul exemplelor.

În JavaScript, atât cuvintele cheie, cât varși letsunt utilizate pentru a declara variabile.

Cuvântul letcheie a fost introdus în versiunea ulterioară a JavaScript cunoscută sub numele de ES6 (ES2015) . Și este modalitatea preferată de a declara variabile.

JavaScript permite Vs var

Iată prezentarea generală a diferențelor dintre letși var.

lăsa var
let are un domeniu de bloc. var este în funcție de domeniu.
let nu permite redeclararea variabilelor. var permite redeclararea variabilelor.
Ridicarea nu are loc în let. Ridicarea are loc în var.

JavaScript permite Vs var în domeniul de aplicare local

var este în funcție de domeniu

Variabila declarată în interiorul unei funcții cu varpoate fi utilizată oriunde în cadrul unei funcții. De exemplu,

 // 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

În programul de mai sus, variabila a este declarată cu var. Variabila a poate fi utilizată oriunde în interiorul funcției greet.

let are un domeniu de bloc

Variabila declarată cu letpoate fi accesată numai într-un bloc de cod. De exemplu,

 // 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();

Ieșire

 hello world Uncaught ReferenceError: b nu este definit

În programul de mai sus, variabila a este declarată în interiorul funcției și poate fi accesată oriunde în interiorul funcției (a devine funcție cu scop).

Cu toate acestea, variabila b este declarată în cadrul ifinstrucțiunii bloc. b va fi bloc-scop și poate fi accesat numai în interiorul ifblocului.

Prin urmare, atunci când încercați să accesați b în afara ifblocului, apare o eroare (așa cum se arată mai sus în program).

Notă : Variabilele declarate în interiorul unei funcții vor fi incluse în ambele funcții varși let.

let nu permite redeclararea variabilelor

1. O variabilă declarată cu varpoate fi redeclarată din nou. De exemplu,

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

O variabilă declarată cu letnu poate fi redeclarată în același bloc sau același domeniu. De exemplu,

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

Ieșire

 Uncaught SyntaxError: identificatorul „a” a fost deja declarat

2. Redeclararea unei variabile cu varun domeniu sau un bloc diferit modifică și valoarea variabilei externe. De exemplu,

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

Redeclararea unei variabile cu letun domeniu sau un bloc diferit tratează acea variabilă ca o variabilă diferită. Și valoarea unei variabile din exterior nu se schimbă. De exemplu,

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

3. Când o variabilă declarată cu vareste utilizată într-o buclă, valoarea acelei variabile se schimbă. De exemplu,

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

În programul de mai sus, forbucla redeclarează variabila a. Prin urmare, valoarea lui aeste modificată la 3 la sfârșit.

Când o variabilă declarată cu let este utilizată într-o buclă, valoarea unei variabile nu se modifică. De exemplu,

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

În programul de mai sus, forbucla tratează variabila a ca o variabilă diferită de cea declarată mai sus. Și scopul acestei variabile este doar în interiorul forbuclei. Prin urmare, valoarea variabilei a rămâne 2 la sfârșit.

să nu permită ridicarea

Variabilele declarate cu varsunt ridicate în partea de sus a scopului programului. De exemplu,

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

Cuvântul cheie letnu permite ridicarea. De exemplu,

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

Dacă doriți să aflați mai multe despre ridicare, accesați JavaScript Hoisting.

let și var Asistență pentru browser

Majoritatea browserelor moderne acceptă utilizarea let. Cu toate acestea, unele browsere nu acceptă pe deplin let.

Pentru a afla mai multe, vizitați JavaScript pentru a permite suportul browserului.

Notă : În cazul unei sfere globale, ambele varși letse vor comporta în același mod. De exemplu,

 var a = 5; // 5

Variabila a va avea scop global și poate fi accesată oriunde în program.

 let a = 5; // 5

Variabila a va avea scop global și poate fi accesată oriunde în program.

Articole interesante...