Hallo Fredl,
das ist völlig simpel und in wenigen Worten erklärt 🤮
In einer function ist das this-Keyword an den Kontext der Funktion gebunden. Das ist
- bei einem Aufruf als Methode: Das Objekt zur Methode
- bei einem normalen Aufruf
- nicht im strict mode: das globale Objekt (a.k.a. window)
- im strict mode:
null
- bei einem Aufruf über apply oder call: Das als Kontext übergebene Objekt
- bei einer Kapselung mit bind: Das gebundene Objekt
In einer Pfeilfunktion ist das this-Keyword an den Kontext gebunden, in dem die Pfeilfunktion definiert wurde. Du hast das Objektliteral im globalen Kontext definiert.
Ich hätte hier auch nochmal eine Abhängigkeit von strict mode unterstellt, aber das ist nicht so. this
im globalen Kontext ist das globale Objekt.
TL;DR: eine Pfeilfunktion als Methode zu definieren ist nicht die beste Idee.
Rolf
--
sumpsi - posui - obstruxi
sumpsi - posui - obstruxi