Читать книгу JavaScript – Das Handbuch für die Praxis - David Flanagan - Страница 55

3.9.3Umwandlung von Objekten in primitive Datentypen

Оглавление

In den vorangegangenen Abschnitten wurde erläutert, wie Sie Werte eines Typs explizit in einen anderen Typ konvertieren können, und es wurden die impliziten Umwandlungen von Werten eines primitiven Typs in einen anderen primitiven Typ erläutert. Dieser Abschnitt behandelt die komplizierten Regeln, die JavaScript nutzt, um Objekte in primitive Werte umzuwandeln. Er ist lang, und es wird etwas undurchsichtig – falls Sie also dieses Kapitels zum ersten Mal lesen, können Sie diesen Abschnitt ruhig überspringen und mit 3.10 weitermachen.

Ein Grund für die Komplexität der Umwandlungen von Objekten in primitive Datentypen in JavaScript liegt darin, dass einige Objekttypen mehr als nur eine primitive Darstellung haben. Datumsobjekte können z.B. als Zeichenketten oder als numerische Zeitstempel dargestellt werden. Die JavaScript-Spezifikation definiert drei grundlegende Algorithmen zur Umwandlung von Objekten in primitive Werte:

prefer-string

Dieser Algorithmus gibt als primitiven Wert bevorzugt einen String zurück, falls eine Konvertierung in eine Zeichenkette möglich ist.

prefer-number

Dieser Algorithmus gibt als primitiven Wert bevorzugt eine Zahl zurück, falls eine solche Umwandlung möglich ist.

no-preference

Dieser Algorithmus besitzt keine Präferenz hinsichtlich des erwünschten primitiven Werts, und Klassen können ihre eigenen Umrechnungen definieren. Fast alle eingebauten JavaScript-Typen implementieren diesen Algorithmus als prefer-number – nur die Date-Klasse implementiert ihn als prefer-string.

Weitere Details zu diesen Algorithmen finden Sie am Ende dieses Abschnitts. Zuerst schauen wir uns jedoch an, wie sie in JavaScript verwendet werden.

JavaScript  –  Das Handbuch für die Praxis

Подняться наверх