JavaScript laseb Vs var (koos näidetega)

Selles õpetuses saate näidete abil teada, mis vahe on Java-l ja var-l Java-s.

JavaScripti puhul kasutatakse muutujate deklareerimiseks nii märksõnu varkui ka letneid.

letMärksõna võeti kasutusele uuem versioon JavaScript tuntud ES6 (ES2015) . Ja see on eelistatav viis muutujate deklareerimiseks.

JavaScript lasi Vs var

Siin on ülevaade erinevustest letja var.

lase var
let on blokeeritud. var on funktsiooni ulatus.
let ei võimalda muutujaid uuesti deklareerida. var võimaldab muutujad uuesti deklareerida.
Tõstmist ei toimu üürilepingus. Tõstmine toimub var.

JavaScripti abil sai Vs varieeruda kohalikus ulatuses

var on funktsiooni ulatus

Funktsiooniga deklareeritud muutujat varsaab kasutada funktsiooni kõikjal. Näiteks,

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

Ülaltoodud programmis deklareeritakse muutuja a koos var. Muutujat a saab kasutada kõikjal funktsiooni sees greet.

let on blokeeritud

Muutujaga, millega deklareeritakse, letpääseb juurde ainult koodiploki sees. Näiteks,

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

 tere maailm Püütamata ReferenceError: b pole määratletud

Eespool nimetatud programmis on muutuja a deklareeritud funktsiooni sees ja sellele pääseb juurde kõikjal funktsiooni sees (a saab funktsiooni ulatuseks).

Kuid muutuja b on deklareeritud ifploki lause sees . b on blokeeritud ja sellega pääseb juurde ainult ifploki sees .

Seega, kui proovite b-le juurde pääseda väljaspool ifplokki, tekib tõrge (nagu programmis eespool näidatud).

Märkus . Funktsiooni sees deklareeritud muutujad on funktsiooniga hõlmatud nii varkui ka let.

let ei luba muutujaid uuesti deklareerida

1. Deklareeritud muutuja varsaab uuesti deklareerida . Näiteks,

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

letDomeeniga deklareeritud muutujat ei saa sama ploki või sama ulatusega uuesti deklareerida . Näiteks,

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

Väljund

 Püüdmatu SyntaxError: identifikaator 'a' on juba deklareeritud

2. Muutliku varulatusega või plokiga muutuja deklareerimine muudab ka välise muutuja väärtust. Näiteks,

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

letErineva ulatusega või plokiga muutuja uuesti deklareerimisel käsitletakse seda muutujat erineva muutujana. Ja väljaspool oleva muutuja väärtus ei muutu. Näiteks,

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

3. Kui aasas varkasutatakse muutujaga deklareeritud muutujat, muutub selle muutuja väärtus. Näiteks,

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

Ülaltoodud programmis fordeklareerib silmus muutuja a uuesti. Seetõttu amuudetakse lõpus väärtuseks 3 .

Kui muutuja deklareeritud let kasutatakse loop väärtus muutuja ei muutu. Näiteks,

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

In the above program, for loop treats variable a as a different variable than the one declared above. And the scope of that variable is only inside the for loop. Hence the value of variable a remains 2 at the end.

let Doesn't Allow Hoisting

The variables declared with var are hoisted to the top of the scope of the program. For example,

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

The keyword let does not allow hoisting. For example,

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

If you want to learn more about hoisting, visit JavaScript Hoisting.

let and var Browser Support

Most of the modern browsers support the use of let. However, some browsers do not fully support let.

To learn more, visit JavaScript let browser support.

Märkus . Globaalse ulatuse korral käituvad mõlemad varja letkäituvad samamoodi. Näiteks,

 var a = 5; // 5

Muutuja a on globaalse ulatusega ja sellele pääseb juurde kõikjal programmis.

 let a = 5; // 5

Muutuja a on globaalse ulatusega ja sellele pääseb juurde kõikjal programmis.

Huvitavad Artiklid...