Primitive

In JavaScript ist ein Primitive (primitiver Wert, primitiver Datentyp) Daten, 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 Primitives sind unveränderlich; das heißt, sie können nicht verändert werden. Es ist wichtig, ein Primitive nicht mit einer Variable zu verwechseln, die einen primitiven Wert zugewiesen hat. Die Variable kann einem neuen Wert zugewiesen werden, aber der vorhandene Wert kann nicht auf die Weise geändert werden, wie Objekte, Arrays und Funktionen geändert werden können. Die Sprache bietet keine Werkzeuge, um primitive Werte zu verändern.

Primitives haben keine Methoden, verhalten sich jedoch so, als ob sie welche hätten. Wenn auf Eigenschaften von Primitiven zugegriffen wird, automatisch verpackt JavaScript den Wert in ein Wrapper-Objekt und greift auf die Eigenschaft dieses Objekts zu. Zum Beispiel wird bei "foo".includes("f") implizit ein String-Wrapper-Objekt erstellt und String.prototype.includes() auf diesem Objekt aufgerufen. Dieses Auto-Boxing-Verhalten ist im JavaScript-Code nicht sichtbar, bietet jedoch ein gutes mentales Modell für verschiedene Verhaltensweisen — z.B. warum das „Verändern“ von Primitives nicht funktioniert (weil str.foo = 1 nicht die Eigenschaft foo von str selbst zuweist, sondern einem kurzlebigen Wrapper-Objekt).

Siehe auch