JavaScript la Vs var (med eksempler)

I denne veiledningen vil du lære om forskjellen mellom let og var i JavaScript ved hjelp av eksempler.

I JavaScript brukes både nøkkelordene varog letdeklarerer variabler.

Den letordet ble introdusert i senere versjon av Javascript kjent som ES6 (ES2015) . Og det er den foretrukne måten å erklære variabler på.

JavaScript la Vs var

Her er oversikten over forskjellene mellom letog var.

la var
La oss blokkere. var er funksjonsomfang.
let tillater ikke å gjenklare variabler. var tillater å omdeklarere variabler på nytt.
Heising forekommer ikke i let. Heising forekommer i var.

JavaScript lar Vs var i Local Scope

var er funksjonsomfang

Variabelen deklarert i en funksjon med varkan brukes hvor som helst i en funksjon. For eksempel,

 // 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 programmet ovenfor blir variabelen a erklært med var. Variabelen a kan brukes hvor som helst i funksjonen greet.

La oss blokkere

Variabelen deklarert med letkan kun nås i en kodeblokk. For eksempel,

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

Produksjon

 hallo verden Ikke fanget ReferenceError: b er ikke definert

I det ovennevnte programmet blir variabelen a erklært inne i funksjonen, og den kan nås hvor som helst inne i funksjonen (a blir funksjonsomfang).

Imidlertid er variabelen b erklært inne i ifblokkuttrykket. b blir blokkert og kan bare nås inne i ifblokken.

Derfor når du prøver å få tilgang til b utenfor ifblokken, oppstår det en feil (som vist ovenfor i programmet).

Merk : Variablene deklarert i en funksjon vil være funksjonsomfang for både varog let.

la tillater ikke å deklarere variabler på nytt

1. En variabel deklarert med varkan deklareres på nytt. For eksempel,

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

En variabel deklarert med letkan ikke deklareres innenfor samme blokk eller samme omfang. For eksempel,

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

Produksjon

 Ufanget syntaksfeil: Identifikator 'a' er allerede erklært

2. Å omdeklarere en variabel med varet annet omfang eller en annen blokk endrer også verdien på den ytre variabelen. For eksempel,

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

Redeklarere en variabel med leti et annet omfang eller blokk behandler den variabelen som en annen variabel. Og verdien på en variabel utenfor endres ikke. For eksempel,

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

3. Når en variabel deklarert med varbrukes i en sløyfe, endres verdien på den variabelen. For eksempel,

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

I det ovennevnte programmet, forgjengir sløyfen variabelen a. Derfor endres verdien atil 3 på slutten.

Når en variabel deklarert med let brukes i en sløyfe, endres ikke verdien til en variabel. For eksempel,

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

I programmet ovenfor forbehandler loop variabel a som en annen variabel enn den som er angitt ovenfor. Og omfanget av den variabelen er bare inne i forløkken. Derfor forblir verdien av variabel a 2 på slutten.

la Tillater ikke heising

Variablene deklarert med varheises til toppen av programmets omfang. For eksempel,

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

Nøkkelordet lettillater ikke heising. For eksempel,

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

Hvis du vil lære mer om heising, kan du gå til JavaScript-heising.

let and var Nettleserstøtte

De fleste moderne lesere støtter bruken av let. Noen nettlesere støtter imidlertid ikke fullt ut let.

For å lære mer, besøk JavaScript la nettleserstøtte.

Merk : Ved globale omfang, både varog letvil oppføre seg på samme måte. For eksempel,

 var a = 5; // 5

Variabelen a vil være globalt og kan nås hvor som helst i programmet.

 let a = 5; // 5

Variabelen a vil være globalt og kan nås hvor som helst i programmet.

Interessante artikler...