JavaScript — Alles, was Sie über JS wissen
Es gibt einige Kernkonzepte in JavaScript (auch bekannt als JS), die sehr wichtig zu lernen sind. In diesem Blog habe ich versucht, eine kurze, aber auf den Punkt gebrachte Demonstration dieser entscheidenden Konzepte von JS zu geben. Nachdem Sie diese Themen gelernt haben, wird Ihnen JavaScript sicherlich weniger seltsam vorkommen. Also ohne weitere Umschweife! Lass uns anfangen.
Hohe Abstraktion
Beim Programmieren bedeutet hohe Abstraktion, dass vergleichsweise komplexe Teile ausgeblendet und vereinfachte Teile angezeigt werden. Die Syntax von Sprachen mit hoher Abstraktion ist im Vergleich zu Sprachen auf niedriger Ebene wie C und Java einfach, was es Programmierern erleichtert, mit einer Sprache mit hoher Abstraktion wie JavaScript, Python, Go usw. zu arbeiten.
Garbage Collector
Im Gegensatz zu Low-Level-Sprachen wie C müssen wir den Speicher in JavaScript nicht manuell verwalten. Stattdessen verwendet JavaScript eine automatische Speicherverwaltung, die als Garbage Collection bezeichnet wird. Mithilfe des Mark-and-Sweep-Algorithmus sammelt die JavaScript-Engine automatisch die ungenutzten Speicherzuweisungen und entfernt sie dann.
JIT kompiliert
Mit Hilfe der JIT (just in time) Kompilierung wird das Programm während der Ausführungszeit in nativen Code kompiliert, um die Performance zu verbessern. Moderne Browser unterstützen die JIT-Kompilierung, um JavaScript-Code zu kompilieren, wodurch die Ausführungszeit verkürzt wird.
Multi-Paradigma
Eine Multi-Paradigma-Sprache ermöglicht es Programmierern, ein Programm in mehreren Ansätzen zu entwerfen. JavaScript unterstützt objektorientierte Programmierung, prozedurale Programmierung, funktionale Programmierung und so weiter.
Prototyp-basiert
Offensichtlich ist JavaScript eine prototyp-basierte Sprache, was bedeutet, dass die Eigenschaften und Methoden eines Objekts von verallgemeinerten Objekten gemeinsam genutzt werden können, die geklont und erweitert werden können. Mit einfachen Worten, Sie können die Eigenschaften und Methoden eines Objekts klonen und diesem neu geklonten Objekt auch zusätzliche Eigenschaften und Methoden hinzufügen.
Dynamisch typisiert
Einfach, in JavaScript wird der Typ einer Variablen zur Laufzeit überprüft. Dafür müssen wir nicht einmal den Datentyp einer Variablen angeben. Darüber hinaus wird es als lose typisierte Sprache bezeichnet, da Datentypen auch automatisch in der Ausführungszeit geändert werden können, was als Typzwang bezeichnet wird. TypeScript, eine Obermenge von JavaScript, ist jedoch eine statisch typisierte Sprache.
Single-Threaded
JS hat einen Call Stack und einen Memory Heap, was bedeutet, dass es nur einen Thread (Prozess) für die auszuführenden Anweisungen gibt. In JavaScript wird einfach nur eine Anweisung gleichzeitig ausgeführt.
Asynchron
Obwohl JavaScript eine Singlethread-Sprache ist, verhält es sich mithilfe der Callback-Warteschlange und der Ereignisschleife asynchron. Die asynchronen Anweisungen werden in der Rückrufwarteschlange gespeichert und von der Ereignisschleife aufgerufen und danach immer dann ausgeführt, wenn die synchronen Operationen ausgeführt werden.
Non-Blocking
Non-Blocking bezieht sich auf den Begriff, die Ausführung für den weiteren Betrieb nicht zu blockieren. JavaScript wartet nicht, um die erweiterten I/O-Vorgänge und HTTPS-Anforderungen abzuschließen. Anstatt zu warten, speichert es die asynchrone Anweisung in der Callback-Warteschlange und führt den Rest der synchronen Operationen aus. Dieses nicht blockierende Konzept hängt auch mit dem asynchronen Verhalten von JavaScript zusammen, das wir bereits besprochen haben.
Funktionen sind Bürger erster Klasse
Funktionen werden in JavaScript als Bürger erster Klasse bezeichnet. Denn in JavaScript können Funktionen als Variablen deklariert, als Argument an eine andere Funktion übergeben und von einer Funktion zurückgegeben werden. Funktionen können auch als Methode eines Objekts festgelegt werden.
Hinweis: In diesem Blog habe ich nur versucht, einen Überblick über die wichtigsten Funktionen und Eigenschaften von JavaScript zu geben. Jetzt ist es Ihre Pflicht, mehr über diese oben genannten Themen zu erfahren.

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



































