Modules
Module sind wiederverwendbare Codeteile, die Implementierungsdetails kapseln. Dabei sind Module meistens in einem File.
Vorteile
Software zusammensetzen: Module sind kleine Bausteine, die wir zusammenfügen, um komplexe Anwendungen zu erstellen
Komponenten isolieren: Module können isoliert entwickelt werden, ohne an die gesamte Codebasis denken zu müssen
Code abstrahieren: Low-Level-Code in Modulen implementieren und diese Abstraktionen in andere Module importieren
Code organisieren: Module führen auf natürliche Weise zu einer besser organisierten Codebase
Code wiederverwenden: Module ermöglichen es uns, denselben Code einfach wiederzuverwenden, auch über mehrere Projekte hinweg
ES6 Modules
Bei ES6 Modulen beinhaltet eine Datei genau ein Modul.
Unterschiede: Modules vs. Scripts
Top-Level-Variablen
Auf Modul beschränkt
Global
Standardmodus
Strict Mode
"Sloppy" Mode
Top-Level this
undefined
window
Imports und Exports
× Nein
HTML-Linking
<script type="module">
<script>
Download
Asynchron
Synchron
Importieren und exportieren
Wir können ein File einfach über ein import
-Statement importieren.
Wie wir sehen können, wird also einfach der Code des importieren Files ausgeführt. Dabei spielt die Reihenfolge keine Rolle, da das import
-Statement sowieso gehoisted wird.
Weiter gibt es sogenannte Named Exports, das heisst, dass wir den Namen des zu importierenden Codes angeben müssen.
Wir können auch das ganze Modul als Objekt importieren.
Wir können auch Default-Exports machen. Diese können wir dann beim importieren nennen, wie wir wollen.
Technisch ist es möglich Named-Exports und Default-Exports zu mischen, es ist jedoch nicht empfohlen!
CommonJS
CommonJS Imports und Export wurden vor allem in Node.js gebraucht und sind dadurch auch heute noch weit verbreitet.
Zuletzt aktualisiert