Primitive
In JavaScript ist ein Primitiv (Primitivwert, primitiver Datentyp) ein Datum, das kein Objekt ist und keine Methoden oder Eigenschaften hat. Es gibt 7 primitive Datentypen:
Meistens wird ein primitiver Wert direkt auf der niedrigsten Ebene der Sprachimplementierung dargestellt.
Alle Primitiven sind unveränderlich; das heißt, sie können nicht verändert werden. Es ist wichtig, ein Primitiv nicht mit einer Variablen zu verwechseln, der ein Primitivwert zugewiesen ist. Die Variable kann neu zugewiesen werden, jedoch kann der bestehende Wert nicht auf die Weise verändert werden, wie Objekte, Arrays und Funktionen verändert werden können. Die Sprache bietet keine Werkzeuge, um primitive Werte zu verändern.
Primitiven fehlen Methoden, sie verhalten sich jedoch so, als ob sie welche hätten. Wenn auf Eigenschaften von Primitiven zugegriffen wird, autoboxt JavaScript den Wert in ein Wrapper-Objekt und greift stattdessen auf die Eigenschaft dieses Objekts zu. Zum Beispiel erstellt "foo".includes("f")
implizit ein String
-Wrapper-Objekt und ruft String.prototype.includes()
auf diesem Objekt auf. Dieses Auto-Boxing-Verhalten ist im JavaScript-Code nicht beobachtbar, stellt jedoch ein gutes mentales Modell für verschiedene Verhaltensweisen dar – zum Beispiel, warum das "Verändern" von Primitiven nicht funktioniert (weil str.foo = 1
nicht die Eigenschaft foo
von str
selbst zuweist, sondern einem flüchtigen Wrapper-Objekt).
Siehe auch
- JavaScript-Datentypen
- Primitiver Datentyp (Wikipedia)
- Verwandte Glossarbegriffe: