Читать книгу JavaScript – Das Handbuch für die Praxis - David Flanagan - Страница 83
4.7.3Seiteneffekte von Operatoren
ОглавлениеDie Auswertung eines einfachen Ausdrucks wie 2 * 3 wirkt sich nie auf den Zustand Ihres Programms aus, d.h., keine der in der Folge von Ihrem Programm ausgeführten Berechnungen wird von dieser Auswertung beeinträchtigt. Einige Ausdrücke haben jedoch Seiteneffekte – ihre Auswertung kann sich auf das Ergebnis späterer Auswertungen auswirken. Die Zuweisungsoperatoren sind das offensichtlichste Beispiel: Weisen Sie einer Variablen oder einer Eigenschaft einen Wert zu, ändert das den Wert aller Ausdrücke, die diese Variable bzw. Eigenschaft benutzen. Die Inkrement- und Dekrementoperatoren ++ und -- verhalten sich ebenfalls so, da sie implizit eine Zuweisung durchführen. Auch der delete-Operator hat Seiteneffekte: Das Löschen einer Eigenschaft ähnelt der Zuweisung von undefined an diese Eigenschaft (ist aber nicht genau dasselbe).
Die anderen JavaScript-Operatoren haben keine Seiteneffekte. Man sollte jedoch beachten, dass Ausdrücke zum Funktionsaufruf und zur Objekterstellung solche Effekte haben, wenn einer der im Funktionskörper oder Konstruktor genutzten Operatoren Seiteneffekte hat.