Unterschiede von let, var und const?

2 Antworten

Es gibt einige Unterschiede, siehe z.B. https://hacks.mozilla.org/2015/07/es6-in-depth-let-and-const/

Kurzfassung:
  • let ist block scoped, var ist function scoped
  • let ist neuer und sollte quasi immer in neuem code genutzt werden, var hat quasi einige Probleme die man nicht ändern kann da alter Code kaputt gehen konnte. Deswegen hat man ein neues Keyword hinzugefügt
  • du kannst eine Variable mit let nur ein mal deklarieren
  • in einer for loop wird mit let jedes mal eine neue Variable erstellt
  • "globale variablen" mit let sind nicht teil des window /globalen Objects

const ist wie let aber man kann der Variable keinen neuen Wert mit = zuweisen. Das verhindert versehentliche Fehler. Ich würde empfehlen immer const zu nutzen wenn sich der Wert einer Variable nicht ändert.

Achtung: nur weil du mit const einer variable keinen anderen Wert zuweisen kannst, heißt das nicht das Objekte selber nicht verändert werden können. Wenn der Wert eine Referenz auf ein Objekt ist kann man zwar der Variable keine andere Referenz auf ein anderes Objekt zuweisen, das Objekt auf das die Referenz zeigt kann allerdings weiterhin verändert werden.

Woher ich das weiß:Berufserfahrung – Software Entwickler / Devops

const ist eine Konstante, var hat einen global scope und let einen block scope