Das new-Schlüsselwort
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy. Lektion 5 von 56.
Das new Schlüsselwort in JavaScript wird verwendet, um Instanzen von Konstruktorfunktionen zu erstellen, die als Vorlagen für die Erstellung von Objekten dienen.
Erstellen Sie eine Konstruktorfunktion für eine Person:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Verwenden Sie das Schlüsselwort new, um eine Instanz zu erstellen:
const john = new Person("John", 30);Nach der Ausführung des obigen Codes ist john ein Objekt mit Eigenschaften und einer Methode:
john.nameist "John"john.ageist 30john.greet()gibt "Hello, my name is John" zurück
Ohne das new-Schlüsselwort würde sich this auf das globale Objekt beziehen (oder undefined im Strict-Mode), nicht auf die neue Instanz.
Aufgabe
Ein Car-Objekt erstellen und seine Beschreibung ausgeben
Dir wird eine Konstruktorfunktion gegeben, die Car-Objekte erstellt. Deine Aufgabe ist es:
- Erstelle ein neues Car-Objekt mit dem Schlüsselwort
newund übergib "Honda" als Namen und 2018 als Jahr - Rufe die Methode
getDescriptionfür dein Car-Objekt auf - Gib das Ergebnis in der Konsole aus
Probier es selbst
function Car(name, year) {
this.name = name;
this.year = year;
this.getDescription = function() {
return "This is a " + this.name + " from " + this.year;
};
}
// TODO: Erstellen Sie ein neues Auto-Objekt mit dem Schlüsselwort new, übergeben Sie "Honda" als Namen und 2018 als Jahr
// TODO: Rufen Sie die Methode getDescription für Ihr Auto-Objekt auf und geben Sie das Ergebnis in der Konsole aus
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Übe selbstständig: Online-JavaScript-Compiler