Was sind Module?
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 7 von 56.
Wenn Ihr JavaScript-Code groß und komplex wird, wird es schwierig, alles in einer einzigen Datei zu verwalten. Die Lösung sind Module: das Aufteilen Ihres Codes in separate, organisierte Dateien.
Ein Modul ist eine JavaScript-Datei, die zusammengehörigen Code enthält. Jedes Modul übernimmt eine spezifische Aufgabe, wodurch Ihre Anwendung einfacher zu verstehen und zu warten ist.
Ein JavaScript-Modul ist eine reguläre .js-Datei, die Code (Variablen, Funktionen, Klassen) exportieren kann, sodass andere Dateien diesen importieren und verwenden können.
Beispiel:
Eine unordentliche Datei:
// Datei: messy-app.js
let user = "John";
let score = 0;
function login() {
console.log("Welcome " + user);
}
function addPoints(points) {
score += points;
}Zwei mit Modulen organisierte Dateien:
// Datei: user-module.js
let user = "John";
function login() {
console.log("Welcome " + user);
}
// Datei: game-module.js
let score = 0;
function addPoints(points) {
score += points;
}user-module.js - Es verarbeitet die Benutzerauthentifizierung und benutzerbezogene Daten und enthält den Benutzernamen sowie die Login-Funktionalität.
game-module.js - Es verwaltet die Spielwertung und das Punktesystem, verfolgt den Spielstand und übernimmt die Punkteberechnungen.
Aufgabe
EinfachSie haben zwei bereits verbundene Module: user-module.js und game-module.js.
Ihre Aufgabe ist es, die Funktion addPoints mit dem Wert 10 in user-module.js aufzurufen.
Erwartete Ausgabe:
Score increased! Current score: 10
Probier es selbst
import { addPoints } from './game-module.js';
let user = "John";
// TODO: Rufe die addPoints-Funktion mit dem Wert 10 auf
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Objekte & das this-Schlüsselwort
Kurze Wiederholung: ObjekteMethoden zu Objekten hinzufügenDas this-Schlüsselwort verstehenKonstruktorfunktionenDas new-SchlüsselwortWiederholungs-Challenge7Vererbung & das extends-Schlüsselwort
VererbungDie „ist-ein“-BeziehungDas extends-SchlüsselwortDie super()-MethodeVererben von Eigenschaften & MethodenWiederholungs-Challenge10Polymorphie
Was ist Polymorphie?Geerbte Methoden überschreibenVerwendung von superWiederholungs-Challenge13Komposition vs. Vererbung
Die "hat-ein"- vs. "ist-ein"-BeziehungDie Grenzen tiefer VererbungObjekte zusammenbauen2Code organisieren
Was sind Module?Exportieren mit exportImportieren mit importDefault- vs. benannte Exports5Kapselung & Zugriff
KapselungÖffentliche & private KlassenfelderPrivate MethodenWiederholungs-Herausforderung8OOP-Code strukturieren
Klassen in Modulen organisieren11Projekt: Ein Shape-Renderer
Setup: Shape-Klasse & ExportCircle-Klasse: VererbungOverriding & Area-MethodeStatischer Shape-Zähler14Bibliotheksverwaltungssystem
Entwurf der BibliothekBuch-Klasse mit KompositionValidierung der Buchautoren3Klassen & Objekte
Was ist eine Klasse?Instanzen erstellenEigenschaften und MethodenWiederholungs-Challenge6Projekt: Ein einfaches Bankkonto
Klasse BankAccountEinzahlungen und AuszahlungenKontostand als privates Feld9Statische Methoden & Eigenschaften
Klassenebene vs. InstanzebeneStatische EigenschaftenStatische HilfsmethodenWiederholungs-Challenge12Getter & Setter
Die Schlüsselwörter get und setBerechnete EigenschaftenValidierung und SeiteneffekteWiederholungs-Challenge15Abschluss-Herausforderungen
Spielfiguren-BuilderE-Commerce ProduktsystemUniversitäts-VerwaltungssystemSmart-Home-Gerätesystem