Wie funktioniert das Schlüsselwort this in JavaScript und wann sollte man es verwenden?
Hallo zusammen! Ich bin neu in JavaScript und bin ständig verwirrt mit dem Schlüsselwort `this`. Ich habe die Dokumentation gelesen, aber sie scheint zu kompliziert. Ich habe diesen Code:
```javascript
const user = {
name: 'Anna',
greet: function() {
console.log('Hallo, ' + this.name);
}
};
const greetFunc = user.greet;
user.greet(); // Gibt "Hallo, Anna" aus — funktioniert!
greetFunc(); // Gibt "Hallo, undefined" aus — warum?
```
Wenn ich `user.greet()` aufrufe, funktioniert alles. Aber wenn ich die Methode in einer Variable speichere und sie aufrufe, wird `this.name` zu `undefined`. Warum passiert das? Und noch etwas: Ich habe gehört, dass sich `this` in Arrow-Funktionen und in normalen Funktionen unterschiedlich verhält. Wie kann ich verstehen, worauf sich `this` in meinem Code bezieht? Wann sollte ich überhaupt `this` verwenden und wann ist es besser, das Objekt als Parameter zu übergeben? Ich wäre dankbar für eine einfache Erklärung mit Beispielen.
<<>>
Was ist
Was ist this und warum verhält es sich unvorhersehbar?
Das Schlüsselwort this