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 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
Erstellen Sie ein Car-Objekt und geben Sie dessen Beschreibung aus
Ihnen wird eine Konstruktorfunktion gegeben, die Car-Objekte erstellt. Ihre Aufgabe ist es:
- Erstellen Sie ein neues Car-Objekt mit dem
newSchlüsselwort, übergeben Sie "Honda" als Name und 2018 als Jahr - Rufen Sie die
getDescriptionMethode für Ihr Car-Objekt auf - Geben Sie das Ergebnis in der Konsole aus
Spickzettel
Das Schlüsselwort new erstellt Instanzen von Konstruktorfunktionen, die als Vorlagen für Objekte dienen.
Definieren Sie eine Konstruktorfunktion:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Erstellen Sie eine Instanz mit new:
const john = new Person("John", 30);Greifen Sie auf Eigenschaften und Methoden zu:
john.name // "John"
john.age // 30
john.greet() // "Hello, my name is John"Ohne new bezieht sich this auf das globale Objekt (oder undefined im Strict-Mode) anstatt auf die neue Instanz.
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: 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