Verschillen tussen JavaScript var versus Let

JavaScript is een scripttaal die zijn variabelen in verschillende typen declareert met behulp van trefwoorden zoals let, const of var. let en const hebben dezelfde kenmerken in termen van lexicale reikwijdte. Lexical scope wordt gedefinieerd als de zichtbaarheid van de waarden van de variabelen in het gedefinieerde of ingesloten blok dat de geldige waarden bevat en toegankelijk is.

JavaScript-lexicale scoping wordt ook wel statische scoping of Closures genoemd, wat een krachtig concept is. In JavaScript heeft var geen blokbereik, als het in een klasse wordt gedeclareerd, is het voor het hele bereik van boven naar beneden zichtbaar, terwijl de variabele waarde niet buiten het ingesloten blok toegankelijk is. 'var'-verklaringen worden verwerkt wanneer de functie-uitvoering start. Dit is vergelijkbaar met dat van een concept genaamd Hoisting (naar boven) van de functie.

De 'let'-verklaring is geïntroduceerd in de ECMAScript-standaardversie 6, vaak ES6 of ES 2015 genoemd. ECMAScript is de organisatie voor het onderhouden van de standaard globale versies van JavaScript om zijn aanpasbaarheid in alle webbrowsers en zijn omgeving te behouden om alle belangrijke internetreuzen zijn in de rij.

Stel dat in JavaScript een variabele voorwaardelijk wordt gedeclareerd voor () lus, dan is deze beschikbaar als globaal en buiten deze lus, terwijl let dit niet toestaat en de toegestane variabele alleen binnen de for-lus toegankelijk maakt. Variabele opnieuw declareren met let veroorzaakt Syntax Error tijdens het compilatieproces.

Head to Head-vergelijking tussen JavaScript Var vs Let

Hieronder vindt u de Top 8-vergelijkingen tussen JavaScript Var en Let

Belangrijkste verschillen tussen JavaScript Var versus Let

Beide JavaScript Var versus Let zijn populaire keuzes in de markt; laten we enkele van de belangrijkste verschillen tussen JavaScript Var versus Let bespreken:

  1. Een variabele is de naam van de opslag voor een waarde die is toegewezen om de locatie te identificeren. In JavaScript kan een variabele worden gedeclareerd met let of var. Het bereik van de 'var'-aangifte is globaal, ongeacht de opgegeven reikwijdte of locatie, terwijl de variabele die met de instructie let wordt gedeclareerd, block-scoped of ingesloten scope is.
  2. In de meeste oudere versiecode kon var worden gevonden voor de meeste variabelen die in de meeste JavaScript-code zijn opgegeven. 'var' hijst de variabele waarde over het hele bereik terwijl de instructie let de waarde niet zal hijsen.
  3. 'var'-verklaring was beschikbaar sinds het begin van JavaScript en let statement werd onlangs geïntroduceerd in de ES6 (ES 2015) -versie van JavaScript om block scoping-functionaliteiten af ​​te dwingen.
  4. 'var' die op elk bereikniveau wordt gedeclareerd, wordt globaal, terwijl het bereik een blokbereik is, waarbij een blok kan worden gedefinieerd als code tussen bloembeugels ().
  5. 'var' gedeclareerde variabelen in JavaScript initialiseert de standaardwaarde van de variabele naar ongedefinieerd zodra deze in het bereik is gedeclareerd, terwijl gedeclareerde variabelen ook de standaardwaarde laden, niet is gedefinieerd.
  6. var heeft geen lexicale scope maar een globale scope, terwijl let de scope moet blokkeren die impliciet of expliciet kan zijn op basis van de plaatsing van de instructie let. Als de instructie let binnen het blokbereik bestaat, wordt dit lexicale scoping.
  7. In het bereik van Windows-object kunnen var-variabelen worden gebruikt, terwijl in let scenario gedeclareerde variabelen in dit scenario niet kunnen worden gebruikt.
  8. Het is niet veiliger om het type van op de identificatiegegevens te gebruiken die zijn opgegeven met behulp van de instructie let, omdat het geval anders is voor de variabelen die zijn opgegeven voor var.
  9. In termen van prestatievergelijking is var sneller en laat langzamer in de loops tijdens het uitvoeren of uitvoeren van de code.
  10. Het opnieuw declareren van var declareerde een variabele in dezelfde functie of hetzelfde bereik geeft aanleiding tot Syntax Error, terwijl de gedeclareerde variabele niet opnieuw kan worden opgegeven.
  11. De fouten en verwarring bij het overschrijven van waarde binnen het bereik kunnen worden voorkomen door gebruik te maken van de variabele let verklaarde en wordt aanbevolen om waar mogelijk te gebruiken en niet in alle gevallen.
  12. In JavaScript kan een variabele met var worden gedeclareerd als var a = 1; overwegende dat een variabele met de instructie let kan worden gedeclareerd als: let a = 1; het enige verschil dat kan worden waargenomen tussen de var en let in javascript is het scopingblok en aangifte of opnieuw aangifte.
  13. De naam van de gedeclareerde variabelen heeft enkele beperkingen die moeten worden gevolgd voordat de declaratie wordt gestart, zodat de naam alleen met letters, cijfers, $ of _ -tekens mag beginnen. De instructies var en let in javascript mogen ook niet worden gebruikt als de naam van de id's bij het declareren van de variabelen.

Vergelijkingstabel tussen JavaScript Var versus Let

Hierna volgt de vergelijkingstabel tussen JavaScript Var versus Let

De basis van vergelijkingen tussen JavaScript Var versus Let JavaScript Var Laat
Definitievar is de oude declaratiemethode van variabeleLet is recent geïntroduceerde vorm van variabele declaratie
GebruikHoofdzakelijk gebruikt om variabelen in JavaScript-programma's te declarerenHetzelfde als var, maar biedt extra functionaliteit voor het afdwingen van de bereikbereikbereik
VerklaringKan overal worden gedeclareerd en de variabele wordt gehesenKan overal worden verklaard en beperkt om het bereik te blokkeren
ToegankelijkheidWereldwijde toegangToegang tot bereik blokkeren of lexicale scoping
modeIn de strikte modus staat var toe dat een variabele opnieuw in hetzelfde bereik wordt gedeclareerd.let staat niet toe dat dezelfde variabele opnieuw wordt gedeclareerd
BrowserondersteuningAlle browsers ondersteunen varWeinig browsers ondersteunen let statement niet
HijsenGlobale variabelen worden gehesenVariabelen met blokbereik worden eigenlijk niet gehesen
CompatibiliteitOndersteund door alle browsers en JS runtime-omgevingenTranspilers zoals Babel kunnen worden gebruikt om het te converteren naar oudere versies om ondersteuning te bieden in alle browsers

Conclusie

Het gebruik van var in JavaScript heeft veel ruimte voor fouten tijdens de uitvoering van code. Het globale bereik van de var-verklaring zorgt voor een afname van het gebruik van dezelfde identifier op verschillende locaties in dezelfde klasse of hetzelfde bestand. Dit vermindert de herbruikbaarheid van code. De declaratie van een variabele met var gedraagt ​​zich vergelijkbaar met die van let, maar met het enige verschil in lexicale scope in de code.

De declaratie van een variabele met behulp van 'let' zorgt ervoor dat de variabele binnen het ingesloten bereik toegankelijk is, waardoor de identifier wordt gedeclareerd en opnieuw wordt gebruikt buiten het geblokkeerde bereik, het statement of het expressiebereik. Var kan niet worden vervangen door let omdat het zijn eigen gebruik heeft over verschillende bereiken. Laat alleen worden gebruikt waar blokafdekking van primair belang is en hijsen niet nodig is in het uitvoeringsbereik.

Aanbevolen artikel

Dit is een gids geweest voor de belangrijkste verschillen tussen JavaScript Var versus Let. Hier bespreken we ook de JavaScript Var versus Let belangrijke verschillen met infographics en vergelijkingstabel. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. HTML5 versus Flash - welke is nuttiger
  2. Java versus Node JS vergelijking
  3. Python versus JavaScript-verschillen
  4. Java en JavaScript - Top 10 verschillen
  5. HTML5 versus JavaScript Wat zijn de functies