A JavaScript let Vs var (példákkal)

Ebben az oktatóanyagban példák segítségével megismerheti a let és a var közötti különbséget a JavaScript-ben.

A JavaScript, a kulcsszavak varés lethasználják kijelentik változókat.

A letkulcsszót a JavaScript későbbi verziójában, ES6 néven (ES2015) vezették be . És ez a változók deklarálásának preferált módja.

A JavaScript segítségével a Vs var

Itt található a letés közötti különbségek áttekintése var.

hadd var
let blokkolt. var a függvény hatóköre.
a let nem teszi lehetővé a változók újrabejelentését. a var lehetővé teszi a változók újrabejelentését.
Az emelés nem bérletben történik. Az emelés var.

A JavaScript lehetővé tette, hogy a Vs változik a Helyi hatókörben

var a függvény hatóköre

A függvény belsejében deklarált változó a függvényen varbelül bárhol használható. Például,

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

A fenti programban az a változót deklaráljuk var. Az a változó a függvényen belül bárhol használható greet.

let blokkolt

A változóval deklarált változó letcsak kódblokkon belül érhető el. Például,

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

Kimenet

 hello world Elfogatlan ReferenceError: b nincs meghatározva

A fenti programban az a változó deklarálásra kerül a függvény belsejében, és a függvényen belül bárhol elérhető (az a függvény hatóköre lesz).

A b változót azonban a ifblokk utasításban deklarálják . b blokk hatókörű lesz, és csak a ifblokkon belül érhető el.

Ezért amikor ifblokkon kívül megpróbálja elérni a b-t , hiba lép fel (amint azt a program fentebb mutatja).

Megjegyzés : A deklarált változók egy függvényen belül lesz funkció távcsöves engedély varés let.

A let nem engedélyezi a változók újrabejelentését

1. A -vel deklarált változó varújra deklarálható. Például,

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

A változóval deklarált változó letnem deklarálható újra ugyanazon blokkban vagy ugyanazon hatókörben. Például,

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

Kimenet

 El nem fogott SyntaxError: Az „a” azonosítót már deklaráltuk

2. Egy változó varmás tartományban vagy blokkban történő átdeklarálása megváltoztatja a külső változó értékét is. Például,

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

Ha egy változót letmás hatókörben vagy blokkban adunk át, akkor ezt a változót más változóként kezeljük . És a változó értéke kívül nem változik. Például,

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

3. Ha egy varciklusban deklarált változót használunk, akkor a változó értéke megváltozik. Például,

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

A fenti programban a forhurok újra kijelenti az a változót. Ezért a végén 3 értékre aváltozik .

Amikor egy let- vel deklarált változót hurokban használunk, akkor a változó értéke nem változik. Például,

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

A fenti programban a forloop az a változót más változóként kezeli, mint a fent deklarált. És ennek a változónak a hatóköre csak a forhurokban van. Ezért az a változó értéke 2 marad a végén.

hadd nem engedi az emelést

A -vel deklarált változókat vara program terjedelmének tetejére emeljük. Például,

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

A kulcsszó letnem teszi lehetővé az emelést. Például,

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

Ha többet szeretne megtudni az emelésről, látogasson el a JavaScript-emelés oldalra.

let és var Böngésző támogatás

A legtöbb modern böngésző támogatja a let. Egyes böngészők azonban nem támogatják teljes mértékben let.

További információért látogasson el a JavaScript let böngésző támogatására.

Megjegyzés : Abban az esetben, globális hatókörű, mind varés letviselkedik ugyanúgy. Például,

 var a = 5; // 5

Az a változó globális hatókörű lesz, és a program bárhol elérhető.

 let a = 5; // 5

Az a változó globális hatókörű lesz, és a program bárhol elérhető.

érdekes cikkek...