What is "this"?

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 in simple words:

.this

1. "This" in einer Methode


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:

2. "This" als eigenständiges Schlüsselwort


Wenn wir in unserer JavaScript-Datei ein "this" Keyword finden, bezieht es sich auf das globale Objekt (window im Browser und global in Node).

3. "This" in einer Funktion


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).

4. "This" in einer Funktion im Strict Modus


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.