unknown: Datentypen in Javascript

Beitrag lesen

Es gibt verschiedene Sprachfeatures, die nur durch die Unterscheidung zwischen Primitives und Objekten erklärt werden können.

Natürlich gibt es die, bestes Beispiel typeof, aber im normalen Umgang merkt man diesen nicht - ok, kaum. Alle Memberfunktionen der Objekte ändern nie das Objekt selber, sondern geben das Ergebniss immer als Returnwert zurück.

Objekte werden per Referenz übergeben (bzw. by sharing), Primitives werden kopiert.

Auch bei der Übergabe an Funktionen merkt man es nicht. Du schreibst erst Objekte werden per Referenz übergeben und Primitives werden kopiert, verlinkst dann aber auf einen Artikel wo eigentlich steht, dass beide, Objekte und Primitives, kopiert werden.

Objekte haben Identität, sind also nur selbstidentisch (obj === obj) und nicht identisch mit anderen Objekten. Primitives können mit anderen Primitives identisch sein ("foo" === "foo").

Ja, bei Operatoren die auf Identität prüfen gibt es Unterschiede.
Auch bei deinem nächsten Beispiel, dem temporary beim cast, merkt man den Unterschied, wobei das Beispiel schon ziemlich konstruiert ist.