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

4.7.2Operanden und Ergebnistyp

Оглавление

Einige Operatoren arbeiten mit Werten beliebiger Typen, aber die meisten erwarten Operanden eines spezifischen Typs und liefern auch einen Wert eines spezifischen Typs zurück. Die Spalte »Typen« in Tabelle 4-1 gibt (vor dem Pfeil) die Typen der Operanden und (nach dem Pfeil) den Ergebnistyp für die einzelnen Operatoren an.

Üblicherweise konvertieren die Operatoren in JavaScript den Typ ihrer Operanden bei Bedarf (siehe 3.9). Obwohl der Multiplikationsoperator * numerische Operanden erwartet, ist der Ausdruck »3« * »5« zulässig, da JavaScript die Operanden in Zahlen umwandeln kann. Und der Wert dieses Ausdrucks ist natürlich die Zahl 15, nicht der String »15«. Denken Sie bitte auch daran, dass jeder JavaScript-Wert entweder ein »irgendwie wahrer« truthy- oder ein »irgendwie falscher« falsy-Wert ist (im Sinne nicht-strikter Gleich- bzw. Ungleichheit) und Operatoren, die boolesche Operanden erwarten, deswegen mit Operanden beliebigen Typs arbeiten.

Das Verhalten einiger Operatoren ist vom Typ der verwendeten Operanden abhängig. Der auffälligste Fall ist der des +-Operators, der numerische Operanden addiert, String-Operanden hingegen verkettet. Gleichermaßen führen Vergleichsoperatoren wie < den Vergleich in Abhängigkeit vom Operandentyp auf numerische oder alphabetische Weise durch. Bei den Beschreibungen der einzelnen Operatoren werden ihre Typabhängigkeiten erläutert und die durchgeführten Umwandlungen angegeben.

Zuweisungsoperatoren und einige weitere der Operatoren, die in Tabelle 4-1 aufgeführt werden, erwarten einen Operanden vom Typ lval. Lvalue ist ein historischer Begriff für einen »Ausdruck, der legal auf der linken Seite eines Zuweisungsausdrucks verwendet werden darf«. In JavaScript sind Variablen, Objekteigenschaften und Array-Elemente Lvalues.

JavaScript  –  Das Handbuch für die Praxis

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