Menu
Coddy logo textTech

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 John

Hier bezieht sich this.name innerhalb der greet-Methode auf die name-Eigenschaft des person-Objekts.

challenge icon

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 John

Innerhalb 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"
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung