JavaScript låter Vs var (med exempel)

I den här handledningen lär du dig skillnaden mellan let och var i JavaScript med hjälp av exempel.

I JavaScript används både nyckelorden varoch letdeklarerar variabler.

Den letnyckelordet introducerades i senare version av JavaScript kallas ES6 (ES2015) . Och det är det föredragna sättet att deklarera variabler.

JavaScript låter Vs var

Här är översikten över skillnaderna mellan letoch var.

låta var
låt är blockomfattat. var är funktionsomfattande.
let tillåter inte att omdeklarera variabler. var gör det möjligt att deklarera variabler på nytt.
Hissning förekommer inte i låt. Hissning sker i var.

JavaScript låter Vs var i Local Scope

var är funktionsomfattande

Variabeln som deklareras i en funktion med varkan användas var som helst inom en funktion. Till exempel,

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

I ovanstående program deklareras variabeln a med var. Variabeln a kan användas var som helst i funktionen greet.

låt är blockomfattat

Variabeln deklarerad med letkan endast nås i ett kodblock. Till exempel,

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

Produktion

 hej värld Uncaught ReferenceError: b definieras inte

I ovanstående program deklareras variabeln a inuti funktionen och den kan nås var som helst inuti funktionen (a blir funktionsomfång).

Variabeln b deklareras dock inuti ifblockuttrycket. b kommer att blockeras och kan endast nås inuti ifblocket.

Därför när du försöker komma åt b utanför ifblocket, uppstår ett fel (som visas ovan i programmet).

Obs! Variablerna som deklarerats inuti en funktion kommer att funktionsomfattas för både varoch let.

let tillåter inte att deklarera om variabler

1. En variabel som deklareras med varkan omdeklareras igen. Till exempel,

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

En variabel som deklareras med letkan inte omdeklareras inom samma block eller samma omfång. Till exempel,

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

Produktion

 Uncaught SyntaxError: Identifier 'a' har redan förklarats

2. Omdeklarerar en variabel med vari ett annat omfång eller block ändras också värdet på den yttre variabeln. Till exempel,

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

Omdeklarerar en variabel med leti ett annat omfång eller block behandlar variabeln som en annan variabel. Och värdet på en variabel utanför ändras inte. Till exempel,

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

3. När en variabel som deklareras med varanvänds i en slinga ändras värdet på variabeln. Till exempel,

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

I ovanstående program forförklarar slingan variabeln a. Därför aändras värdet på till 3 i slutet.

När en variabel som deklarerats med let används i en slinga ändras inte variabelns värde. Till exempel,

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

I ovanstående program forbehandlar loop variabel a som en annan variabel än den som anges ovan. Och omfattningen av den variabeln är bara inuti forslingan. Därför förblir värdet på variabel a 2 i slutet.

låt tillåter inte lyftning

Variablerna som deklarerats med varlyfts till toppen av programmets omfång. Till exempel,

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

Nyckelordet lettillåter inte lyftning. Till exempel,

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

Om du vill lära dig mer om lyftning, besök JavaScript-lyftning.

let och var Browser Support

De flesta moderna webbläsare stöder användningen av let. Vissa webbläsare stöder dock inte helt let.

För att lära dig mer, besök JavaScript.

Obs : Vid global räckvidd, både varoch letkommer att bete sig på samma sätt. Till exempel,

 var a = 5; // 5

Variabeln a är global omfattning och kan nås var som helst i programmet.

 let a = 5; // 5

Variabeln a är global omfattning och kan nås var som helst i programmet.

Intressanta artiklar...