JavaScript lad Vs var (med eksempler)

I denne vejledning lærer du om forskellen mellem let og var i JavaScript ved hjælp af eksempler.

I JavaScript bruges både nøgleordene varog letdeklarerer variabler.

Den letsøgeord blev indført i den nyere version af JavaScript kendt som ES6 (ES2015) . Og det er den foretrukne måde at erklære variabler på.

JavaScript lad Vs var

Her er oversigten over forskellene mellem letog var.

lade var
Lad os blokere. var er funktionsomfang.
let tillader ikke at gendeklarere variabler. var gør det muligt at deklarere variabler igen.
Hejsning forekommer ikke i let. Hejsning forekommer i var.

JavaScript tillader Vs var i Local Scope

var er funktionsomfang

Variablen deklareret inde i en funktion med varkan bruges hvor som helst inden for en funktion. 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 ovenstående program erklæres variablen a med var. Variablen a kan bruges hvor som helst inde i funktionen greet.

Lad os blokere

Variablen deklareret med letkan kun fås i en blok kode. 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();

Produktion

 hej verden Ikke fanget ReferenceError: b er ikke defineret

I ovenstående program erklæres variablen a inde i funktionen, og den kan tilgås hvor som helst inde i funktionen (a bliver funktionsomfang).

Imidlertid erklæres variablen b inde i ifblokerklæringen. b vil være blokomfanget og kan kun tilgås inde i ifblokken.

Derfor, når du prøver at få adgang til b uden for ifblokken, opstår der en fejl (som vist ovenfor i programmet).

Bemærk : De variabler, der er angivet i en funktion, funktionsomfang for både varog let.

lad tillader ikke at gendeklarere variabler

1. En variabel, der er deklareret med, varkan deklareres igen. For eksempel,

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

En variabel, der er erklæret med, letkan ikke deklareres inden for samme blok eller samme omfang. For eksempel,

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

Produktion

 Ikke fanget syntaksfejl: Identifikator 'a' er allerede blevet erklæret

2. Omdeklarering af en variabel med varet andet omfang eller en anden blok ændrer også værdien af ​​den ydre variabel. For eksempel,

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

Omdeklarering af en variabel med leti et andet omfang eller blok behandler den variabel som en anden variabel. Og værdien af ​​en variabel udenfor ændres 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, der er deklareret med var, bruges i en løkke, ændres værdien af ​​den variabel. For eksempel,

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

I ovennævnte program forerklærer løkken om variablen a. Derfor ændres værdien af atil 3 i slutningen.

Når en variabel, der er deklareret med let , bruges i en sløjfe, ændres værdien af ​​en variabel ikke. For eksempel,

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

I ovenstående program forbehandler loop variabel a som en anden variabel end den ovenfor angivne. Og omfanget af denne variabel er kun inde i forsløjfen. Derfor forbliver værdien af ​​variabel a 2 ved slutningen.

lad Tillader ikke hejsning

Variablerne deklareret med varhejses til toppen af ​​programmets anvendelsesområde. For eksempel,

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

Nøgleordet lettillader ikke hejsning. For eksempel,

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

Hvis du vil lære mere om hejsning, skal du besøge JavaScript-hejsning.

let og var Browsersupport

De fleste af de moderne browsere understøtter brugen af let. Nogle browsere understøtter dog ikke fuldt ud let.

Hvis du vil vide mere, skal du besøge JavaScript, lad browsersupport.

Bemærk : I tilfælde af global rækkevidde, både varog letvil opføre sig på samme måde. For eksempel,

 var a = 5; // 5

Variablen a vil være global omfang og kan tilgås hvor som helst i programmet.

 let a = 5; // 5

Variablen a vil være global omfang og kan tilgås hvor som helst i programmet.

Interessante artikler...