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

4.7.5Operatorassoziativität

Оглавление

In Tabelle 4-1 gibt die Spalte »A« die Assoziativität des Operators an. Der Wert L besagt, dass der Operator linksassoziativ ist, der Wert R, dass er rechtsassoziativ ist. Die Assoziativität eines Operators definiert, in welcher Reihenfolge Operationen mit gleichem Vorrang ausgeführt werden. Linksassoziativität heißt, dass die Operationen von links nach rechts ausgeführt werden. Da der Subtraktionsoperator linksassoziativ ist, ist

w = x - y - z;

dasselbe wie:

w = ((x - y) - z);

Betrachten Sie andererseits die folgenden Ausdrücke:

y = a ** b ** c;

x = ~-y;

w = x = y = z;

q = a?b:c?d:e?f:g;

Diese entsprechen:

y = (a ** (b ** c));

x = ~(-y);

w = (x = (y = z));

q = a?b:(c?d:(e?f:g));

Warum? Weil die unären Operatoren, der Zuweisungs- und der Ternäroperator rechtsassoziativ sind und die entsprechenden Operationen von rechts nach links ausgeführt werden.

JavaScript  –  Das Handbuch für die Praxis

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