Das this-Schlüsselwort verstehen
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 3 von 56.
Das Schlüsselwort this in JavaScript bezieht sich auf das Objekt, das den Code aktuell ausführt. Es ermöglicht Ihnen den Zugriff auf Eigenschaften und Methoden des aktuellen Objekts.
Beginnen wir mit einem einfachen Objekt:
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};In diesem Beispiel, wenn wir die greet-Methode aufrufen:
person.greet();Die Ausgabe lautet:
Hello, my name is JohnHier bezieht sich this.name innerhalb der greet-Methode auf die name-Eigenschaft des person-Objekts.
Aufgabe
Füge dem player-Objekt eine Methode namens getStatus hinzu, die einen String mit dem Namen und der Gesundheit des Spielers unter Verwendung des this-Schlüsselworts zurückgibt.
Erwartetes Ausgabeformat:"Knight has 70 health"
Spickzettel
Das Schlüsselwort this bezieht sich auf das Objekt, das gerade den Code ausführt, wodurch Sie auf dessen Eigenschaften und Methoden zugreifen können.
Beispiel für die Verwendung von this in einer Objektmethode:
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};
person.greet(); // Ausgabe: Hello, my name is JohnInnerhalb der Methode bezieht sich this.name auf die Eigenschaft name des Objekts person.
Probier es selbst
const player = {
name: "Knight",
health: 100,
takeDamage: function(damage) {
this.health -= damage;
},
// TODO: Füge hier die getStatus-Methode hinzu, die einen String mit dem Namen und der Gesundheit des Spielers zurückgibt
};
// Test
player.takeDamage(30);
console.log(player.getStatus()); // Sollte ausgeben: "Knight has 70 health"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