Wo ist der Unterschied zwischen var, let und const?
Guten Abend!
Mich würde mal interessieren, wo in JavaScript der Unterschied zwischen
var
const
let
besteht.
Vielen Dank für eure Antworten!
LG,
Danke
2 Antworten
Mit var erstellst du eine Variable im aktuellen Funktionskontext oder (wenn außerhalb einer Funktion) im globalen Kontext.
Beispiel:
function getNumberOfNamesStartsWith(names, letter) {
for (var count = 0, i = 0; i < names.length; ++i) {
if (names[i].startsWith(letter)) {
++count;
}
}
return count;
}
names = [ "Anna", "Lena", "Sophie", "Nele", "Luisa" ];
console.log(getNumberOfNamesStartsWith(names, "L")); // 2
Die Variable count ist innerhalb der gesamten Funktion bekannt. Daher kann ihr Wert auch nach der Schleife weiterverwendet werden.
Eine Deklaration mit let wiederum beschränkt eine Variablendeklaration auf den aktuellen Kontext / Code-Block. Daher würde der obige Code mit let nicht funktionieren. Es würde ein Laufzeitfehler geworfen werden, da count außerhalb der Schleife nicht bekannt ist.
Wenn du ein Variable mit const erstellst, kreierst du eine Konstante. Das heißt, dieses Symbol zeigt stets auf seinen initialen Wert. Dies lässt sich mit einer Neuzuweisung nicht ändern.
const value = 5;
value = 7; // error
Der Gültigkeitsbereich beschränkt sich so wie bei let auf den aktuellen Kontext, in dem sie deklariert wurde.
Mit var und let werden Variablen deklariert, mit cont eine Konstante. var ist die veraltete Schreibweise, let und const wurden mit einer neueren Javascript Sprachversion, ES6 eingeführt.