Javascript Hoisting: Vielen Dank für nichts
Als JavaScript-Entwickler sind Sie sich der „Freude“, die aufkommt, sicher bewusst. Aber für den Fall, dass Sie eine Auffrischung benötigen: Heben ist das Verhalten in JavaScript, bei dem Variablen und Funktionen vor der Codeausführung automatisch an den Anfang ihres Gültigkeitsbereichs verschoben werden.
Nun mögen einige argumentieren, dass das Heben eine nützliche Funktion ist, die es uns ermöglicht, Variablen und Funktionen zu referenzieren, bevor sie tatsächlich in unserem Code deklariert werden. Aber seien wir ehrlich: Die Nachteile überwiegen bei weitem die Vorteile, wenn es um dieses „Feature“ geht.
Eines der Hauptprobleme beim Heben ist, dass es für neue Entwickler extrem verwirrend sein kann. Wenn Sie Programmieren lernen, ist es wichtig, ein solides Verständnis der Konzepte und Prinzipien zu haben, mit denen Sie arbeiten. Das Heben verstößt gegen einige der grundlegenden Regeln der Programmierung, wie z. B. die Idee, dass Deklarationen vor der Verwendung kommen sollten und dass Variablen initialisiert werden sollten, bevor sie verwendet werden. Dies kann zu Verwirrung führen und es für neue Entwickler schwieriger machen, zu verstehen, was in ihrem Code vor sich geht.
Aber auch für erfahrene Entwickler kann das Heben lästig sein. Es ist schwer genug, den Überblick über alle Variablen und Funktionen in Ihrem Code zu behalten, ganz zu schweigen davon, sich Gedanken über ihre Platzierung in Bezug auf das Heben zu machen. Dies kann zu Zeitverschwendung und Frustration führen, wenn Sie versuchen, Ihren Code zu debuggen und herauszufinden, warum er nicht wie erwartet funktioniert.
Das Heben ist nicht nur verwirrend und frustrierend, sondern auch inkonsistent. Wie bereits erwähnt, verhält es sich unterschiedlich, je nachdem, ob Sie den strikten Modus verwenden oder nicht. Das bedeutet, dass Sie bei der Verwendung von Hoisting besonders vorsichtig sein müssen und möglicherweise Ihren Code ändern müssen, je nachdem, ob Sie den strikten Modus verwenden oder nicht. Dies fügt einem bereits verwirrenden Konzept eine weitere Ebene der Komplexität hinzu und kann es schwieriger machen, zuverlässigen, vorhersehbaren Code zu schreiben.
Abschließend ist anzumerken, dass die vermeintlichen „Vorteile“ des Hebens wirklich sehr gering sind. Ja, es erlaubt uns, Variablen und Funktionen zu referenzieren, bevor sie in unserem Code deklariert werden, aber ist das wirklich so nützlich? In den meisten Fällen ist es viel klarer und einfacher, Code zu lesen, wenn Deklarationen vorgenommen werden, bevor sie verwendet werden. Dies hilft, Verwirrung zu vermeiden und macht es einfacher zu verstehen, was im Code vor sich geht.
Zusammenfassend lässt sich sagen, dass das Heben ein verwirrender und frustrierender Aspekt von JavaScript ist, der wenig Zweck erfüllt und nur dazu dient, unser Leben als Entwickler schwieriger zu machen. Sicher, es mag ein paar kleine Vorteile haben, aber die Nachteile überwiegen bei weitem. Danke für nichts, Heben.
Du baust gewissermaßen dein eigenes Labyrinth und verlierst dich vielleicht darin.
― Marijn Haverbeke, Eloquent JavaScript: Eine moderne Einführung in die Programmierung

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































