Default- vs. benannte Exports
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy. Lektion 10 von 56.
In JavaScript-Modulen hast du zwei Hauptmöglichkeiten, deinen Code zu exportieren: benannte Exporte und Standardexporte.
Benannte Exporte ermöglichen es dir, mehrere Werte aus einem Modul zu exportieren:
// math.js
export function add(a, b) {
return a + b;
}
export function subtract(a, b) {
return a - b;
}Beim Importieren benannter Exporte musst du innerhalb der geschweiften Klammern exakt dieselben Namen verwenden:
// app.js
import { add, subtract } from './math.js';
console.log(add(5, 3)); // 8
console.log(subtract(10, 4)); // 6Wenn du einen benannten Import umbenennen musst, verwende das Schlüsselwort as, um einen Alias zu erstellen:
// app.js
import { add as sum, subtract as minus } from './math.js';
console.log(sum(5, 3)); // 8
console.log(minus(10, 4)); // 6Default Exports ermöglichen es dir, einen einzelnen Hauptwert aus einem Modul zu exportieren:
// user.js
const user = {
name: 'John',
age: 30
};
export default user;Beim Importieren eines default-Exports kannst du ohne geschweifte Klammern einen beliebigen Namen verwenden:
// app.js
import person from './user.js';
console.log(person.name); // 'John'Wann welches verwenden? Verwende benannte Exporte, wenn ein Modul mehrere zusammengehörige Dienstprogramme bereitstellt (z. B. eine Sammlung von Hilfsfunktionen). Verwende einen Standardexport, wenn ein Modul einen Hauptzweck oder einen zentralen Wert hat (z. B. eine Klasse, eine Komponente oder ein Konfigurationsobjekt).
Du kannst beide Exporttypen in einem einzigen Modul kombinieren:
// vehicle.js
export const wheels = 4;
export const doors = 4;
const car = {
brand: 'Toyota',
model: 'Corolla'
};
export default car;Und importiere sie gemeinsam:
// app.js
import myCar, { wheels, doors } from './vehicle.js';
console.log(myCar.brand); // 'Toyota'
console.log(wheels); // 4Aufgabe
EinfachDu hast zwei Dateien. Deine Aufgabe besteht darin, die Exporte in calculator.js und die Importe in main.js einzurichten.
- In
calculator.js: Exportierecalculateals Standardexport undsquareals benannten Export - In
main.js: Importiere beide Funktionen korrekt
Die Tests überprüfen:
- Für
calculatewird der Standardexport verwendet - Für
squarewird der benannte Export verwendet - Beide Importe funktionieren korrekt
Probier es selbst
// TODO: Importiere beide Funktionen hier aus calculator.js
// Test
console.log(calculate(10, 5, '+')); // Sollte 15 ausgeben
console.log(square(4)); // Sollte 16 ausgebenDiese 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Übe selbstständig: Online-JavaScript-Compiler