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
Spickzettel
Ein Modul ist eine JavaScript-Datei, die zusammengehörigen Code enthält. Jedes Modul übernimmt eine bestimmte Aufgabe, was Ihre Anwendung leichter verständlich und wartbar macht.
Module ermöglichen es Ihnen, Ihren Code in separate, organisierte Dateien aufzuteilen, anstatt alles in einer einzigen großen Datei zu verwalten.
Ein JavaScript-Modul ist eine reguläre .js-Datei, die Code (Variablen, Funktionen, Klassen) exportieren kann, damit andere Dateien ihn importieren und verwenden können.
Beispiel für die Organisation von Code mit Modulen:
// 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;
}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: Vererbung14Bibliotheksverwaltungssystem
Entwurf der BibliothekBuch-Klasse mit Komposition3Klassen & Objekte
Was ist eine Klasse?Instanzen erstellenEigenschaften und MethodenWiederholungs-Challenge6Projekt: Ein einfaches Bankkonto
Klasse BankAccountEinzahlungen und Auszahlungen9Statische 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