“Heben” oder “Hoisting” ist ein Verhalten in JavaScript, bei dem Variablen- und Funktionsdeklarationen an den Anfang ihres jeweiligen Gültigkeitsbereichs (Scope) verschoben werden. Dies bedeutet, dass Sie Variablen und Funktionen verwenden können, bevor Sie sie tatsächlich deklarieren.
Es ist wichtig zu beachten, dass nur die Deklarationen selbst “gehoben” werden, nicht etwaige Zuweisungen oder Initialisierungen. Daher wird beim Heben einer Variable, die bereits einem Wert zugewiesen ist, zunächst nur die Existenz der Variable gehoben, der zugewiesene Wert jedoch bleibt an der Stelle, an der er ursprünglich stand.
Code-Beispiel:
```
console.log(myVar); // Ausgabe: undefined
var myVar = 5;
console.log(myVar); // Ausgabe: 5
```
In diesem Fall wird die Variable “myVar” gehoben, d.h., sie existiert vom Beginn des Codes an, aber sie ist nicht definiert, bis der Code zur Zeile “`var myVar = 5;`” gelangt. Daher ist die Ausgabe der ersten Zeile “undefined”, während die Ausgabe der letzten Zeile “5” ist.