++ i und i ++ Inkrement- und Dekrementoperatoren

Diese Inkrementierungsoperatoren und die entsprechenden Dekrementierungsoperatoren sind für jeden, der ihnen noch nicht begegnet ist, möglicherweise etwas verwirrend.

Zunächst gibt es verschiedene Möglichkeiten, eine zu addieren oder zu subtrahieren.

i = i + 1;
i + = 1;
i ++;
++ich;

Um eins zu subtrahieren, gibt es die gleichen vier Auswahlmöglichkeiten, wobei jedes durch - ersetzt wird +.

Warum genau bietet JavaScript (und andere Sprachen) so viele verschiedene Möglichkeiten, dasselbe zu tun? Zum einen sind einige dieser Alternativen kürzer als andere und erfordern weniger Eingaben. Mit + = können Sie einer Variablen auf einfache Weise eine beliebige Zahl und nicht nur eine hinzufügen, ohne den Variablennamen zweimal eingeben zu müssen.

Das erklärt immer noch nicht, warum sowohl i ++ als auch ++ i existieren, da beide nur zum Hinzufügen von einem verwendet werden können und beide die gleiche Länge haben. Der Grund für die beiden Alternativen ist, dass diese nicht wirklich als eigenständige Anweisungen verwendet werden sollen, sondern dass sie in komplexere Anweisungen integriert werden können, bei denen Sie tatsächlich mehr als eine Variable in den Anweisungen aktualisieren Aktualisieren Sie tatsächlich mehr als eine Variable in der einen Anweisung.

Wahrscheinlich ist die einfachste solche Aussage wie folgt:

j = i ++;

Diese Anweisung aktualisiert die Werte der beiden Variablen i und j in der einen Anweisung. Die Sache ist, dass, während ++ i und i ++ das gleiche tun, was das Aktualisieren von i betrifft, sie verschiedene Dinge in Bezug auf das Aktualisieren anderer Variablen tun. Die obige Anweisung kann wie folgt als zwei separate Anweisungen geschrieben werden:

j = i;
i + = 1;

Beachten Sie, dass wir durch das Kombinieren von acht Zeichen anstelle von 13 Zeichen haben. Natürlich ist die längere Version viel klarer, wenn es darum geht, herauszufinden, welchen Wert j hat.

Wenn wir uns nun die Alternative ansehen:

j = ++ i;

Diese Aussage entspricht der folgenden:

i + = 1;
j = i;

Dies bedeutet natürlich, dass j jetzt einen anderen Wert hat als im ersten Beispiel. Die Position von ++ vor oder nach dem Variablennamen bestimmt, ob die Variable vor oder nach der Verwendung in der Anweisung, in der sie verwendet wird, inkrementiert wird.

Genauso verhält es sich, wenn Sie den Unterschied zwischen --i und i - berücksichtigen, wobei die Position von - bestimmt, ob vor oder nach der Verwendung des Werts einer subtrahiert wird.

Wenn Sie es also separat als einzelne Anweisung verwenden, spielt es keine Rolle, ob Sie es vor oder nach dem Variablennamen platzieren (mit Ausnahme eines mikroskopischen Geschwindigkeitsunterschieds, den niemand jemals bemerken wird). Nur wenn Sie es mit einer anderen Anweisung kombinieren, ändert sich der Wert, der einer oder mehreren anderen Variablen zugewiesen wird.