Das Schlüsselwort "this" in JavaScript kann sehr verwirrend sein, da die Macher von JavaScript diesem Schlüsselwort mehrere Rollen gegeben haben. Diese werden folgend beleuchtet.
.this
Eine Methode ist eine normale Funktion, die Teil eines Objekts ist. Jede Verwendung von "this" in einer Methode bezieht sich auf das Objekt, in dem es sich befindet. Wenn wir z.B. dieses Key-Value-Paar betrachten, wird es schnell deutlich:
Wenn wir in unserer JavaScript-Datei ein "this" Keyword finden, bezieht es sich auf das globale Objekt (window im Browser und global in Node).
Während Methoden Funktionen sind, die Teil eines Objekts sind, ist eine Funktion ein eigenständiger Code. Da es an kein Objekt/Parent angehängt ist, bezieht sich "this" in einer Funktion auf ein globales Objekt (window im Browser und global im Node).
Während man es normalerweise vorziehen würden, TypeScript zu verwenden, ist es für den Anfang eine gute Option, den STRICT Modus in JavaScript zu benutzten. Wenn wir im strikten Modus "this" in eine Funktion schreiben, erhalten wir undefined zurück.