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.








