ECMAScript ursprüngliche Werte und Referenzwerte
- Vorherige Seite ECMAScript-Reservewörter
- Nächste Seite ECMAScript-Originaltypen
In ECMAScript können Variablen zwei Arten von Werten haben, nämlich Originalwerte und Referenzwerte.
Originalwerte und Referenzwerte
In ECMAScript können Variablen zwei Arten von Werten haben, nämlich Originalwerte und Referenzwerte.
- Originalwert
- im Stack gespeicherte einfache Datenbereiche, das bedeutet, ihre Werte werden direkt im Zugriffsort der Variablen gespeichert.
- Referenzwert
- im Heap gespeicherte Objekte, das bedeutet, der Wert, der im Variablenplatz gespeichert ist, ist ein Zeiger (Point), der auf den Speicherort des Objekts im Heap verweist.
Bei der Zuweisung von Werten an Variablen muss der Interpreter von ECMAScript bestimmen, ob der Wert ein Originaltyp oder ein Referenztyp ist. Dies kann durch Versuchen des Interpreters erreicht werdenob der Wert einer der Originaltypen von ECMAScript istd.h. Undefined, Null, Boolean, Number und String. Da der Speicherplatz dieser Originaltypen fest ist, können sie in einem kleineren Speicherbereich - dem Stack - gespeichert werden. Dies erleichtert die schnelle Abfrage des Variablenwerts.
In vielen Sprachen werden Strings als Referenztypen und nicht als Originaltypen betrachtet, da die Länge von Strings variabel ist. ECMAScript hat diese Tradition gebrochen.
Wenn ein Wert ein Referenztyp ist, wird sein Speicherplatz aus dem Heap zugewiesen. Da die Größe der Referenzwerte variieren kann, kann er nicht im Stack gespeichert werden, da dies die Geschwindigkeit der Variablenabfrage verringern würde. Im Gegensatz dazu wird der Wert, der im Stack-Speicher der Variable gespeichert ist, als Adresse der im Heap gespeicherten Objekte betrachtet. Die Größe der Adresse ist fest, daher hat das Speichern dieser Adresse in der Stackspeicher keine negativen Auswirkungen auf die Leistung der Variablen. Wie im folgenden Diagramm gezeigt:

Originaltyp
Wie bereits erwähnt, verfügt ECMAScript über 5 Originaltypen (primitive type), nämlich Undefined, Null, Boolean, Number und String. ECMA-262 definiert den BegriffTyp (type)Definiert als Sammlung von Werten, jede Originaltypdefinition spezifiziert den Bereich der enthaltenen Werte und deren literale Darstellung.
ECMAScript bietet den Operatorsubtyp typeof an, um zu bestimmen, ob ein Wert in einem bestimmten Typenspektrum liegt. Mit diesem Operator kann geprüft werden, ob ein Wert ein Originaltyp ist und wenn ja, welche Originaltyp er ist.
In den folgenden Kapiteln werden wir Ihnen das ECMAScript-Originaltypen und Referenztypen in mehr Detail erläutern.
- Vorherige Seite ECMAScript-Reservewörter
- Nächste Seite ECMAScript-Originaltypen