Avatar ·

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 this und warum verhält es sich unvorhersehbar?

Das Schlüsselwort this