JavaScript dopušta Vs var (s primjerima)

U ovom ćete tutorijalu uz primjere naučiti o razlici između let i var u JavaScript-u.

U JavaScriptu se ključne riječi vari letkoriste za deklariranje varijabli.

letKljučna riječ je uveden u kasnijoj verziji JavaScript poznat kao ES6 (ES2015) . I to je preferirani način deklariranja varijabli.

JavaScript dopušta Vs var

Evo pregleda razlika između leti var.

neka var
neka je blok-opsega. var je opseg funkcije.
let ne dopušta ponovno deklariranje varijabli. var omogućuje ponovno deklariranje varijabli.
Podizanje se ne događa u let. Podizanje se događa u var.

JavaScript dopušta Vs var u lokalnom opsegu

var je opseg funkcije

Varijabla deklarirana unutar funkcije sa varmože se koristiti bilo gdje unutar funkcije. Na primjer,

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

U gore navedenom programu varijabla a deklarirana je s var. Varijabla a može se koristiti bilo gdje unutar funkcije greet.

neka je blok-opsega

Varijabli deklariranoj sa letmože se pristupiti samo unutar bloka koda. Na primjer,

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

Izlaz

 hello world Uncaught ReferenceError: b nije definiran

U gore navedenom programu, varijabla a deklarirana je unutar funkcije i može joj se pristupiti bilo gdje unutar funkcije (a postaje opseg funkcije).

Međutim, varijabla b deklarirana je unutar ifnaredbe bloka. b bit će obuhvaćen blokom i može mu se pristupiti samo unutar ifbloka.

Stoga, kada pokušate pristupiti b izvan ifbloka, dolazi do pogreške (kao što je gore prikazano u programu).

Napomena : Varijable deklarirane unutar funkcije bit će opsega funkcije i za vari let.

neka ne dopušta ponovno deklariranje varijabli

1. Varijabla deklarirana s varmože se ponovno deklarirati . Na primjer,

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

Varijabla deklarirana s letne može se ponovno deklarirati unutar istog bloka ili istog opsega. Na primjer,

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

Izlaz

 Uncaught SyntaxError: Identifikator 'a' je već proglašen

2. Ponovno deklariranje varijable varu drugom opsegu ili bloku mijenja i vrijednost vanjske varijable. Na primjer,

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

Ponovno deklariranje varijable letu drugom opsegu ili bloku tretira tu varijablu kao različitu varijablu. A vrijednost varijable vani se ne mijenja. Na primjer,

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

3. Kada se varijabla deklarirana s varkoristi u petlji, vrijednost te varijable se mijenja. Na primjer,

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

U gornjem programu forpetlja ponovno deklarira varijablu a. Stoga se vrijednost na kraju amijenja u 3 .

Kada se varijabla deklarirana s let koristi u petlji, vrijednost varijable se ne mijenja. Na primjer,

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

U gornjem programu, forpetlja tretira varijablu a kao različitu varijablu od one koja je gore navedena. A opseg te varijable nalazi se samo unutar forpetlje. Stoga vrijednost varijable a na kraju ostaje 2 .

neka Ne dopušta dizanje

Varijable deklarirane s postavljene varsu na vrh opsega programa. Na primjer,

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

Ključna riječ letne dopušta podizanje. Na primjer,

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

Ako želite saznati više o dizanju, posjetite JavaScript dizanje.

let and var podrška za preglednik

Većina modernih preglednika podržava upotrebu let. Međutim, neki preglednici ne podržavaju u potpunosti let.

Da biste saznali više, posjetite JavaScript neka podrška za preglednik.

Napomena : U slučaju globalnog opsega, i jedno vari letdrugo ponašat će se na isti način. Na primjer,

 var a = 5; // 5

Varijabla a bit će globalnog opsega i moći će joj se pristupiti bilo gdje u programu.

 let a = 5; // 5

Varijabla a bit će globalnog opsega i moći će joj se pristupiti bilo gdje u programu.

Zanimljivi članci...