ECMAScript-Additive Operatoren

In den meisten Programmiersprachen ist der additive Operator (d.h. das Plus- oder Minuszeichen) der einfachste mathematische Operator.

In ECMAScript gibt es viele spezielle Verhaltensweisen für den additiven Operator.

Additionsoperator

Der Additionsoperator wird durch das Pluszeichen (+) dargestellt:

var iResult = 1 + 2

Wie bei den multiplikativen Operatoren hat die Addition in ECMAScript einige spezielle Verhaltensweisen bei der Verarbeitung von Spezialwerten:

  • Ist einer der Operanden NaN, dann ist das Ergebnis NaN.
  • -Infinity plus -Infinity ergibt -Infinity.
  • Infinity plus -Infinity ergibt NaN.
  • +0 plus +0 ergibt +0.
  • -0 plus +0 ergibt +0.
  • -0 plus -0 ergibt -0.

Wenn jedoch einer der Operanden ein String ist, dann gelten folgende Regeln:

  • Wenn beide Operanden Strings sind, wird der zweite String an den ersten angehängt.
  • Wenn nur einer der Operanden ein String ist, wird der andere Operand in einen String umgewandelt und das Ergebnis ist die Verknüpfung der beiden Strings.

Zum Beispiel:

var result = 5 + 5;	//Zwei Zahlen
alert(result);		//Gibt "10" aus
var result2 = 5 + "5";	//Eine Zahl und ein String
alert(result2);		//Gibt "55" aus

Dieses Beispiel zeigt die Unterschiede zwischen den beiden Modellen des Additionsopeaters. Normalerweise ergibt 5 + 5 10 (ursprünglicher Wert), wie in den ersten beiden Zeilen des obigen Codes gezeigt. Wenn jedoch einer der Operanden in den String "5" geändert wird, wird das Ergebnis "55" (ursprünglicher Stringwert) sein, da der andere Operand auch in einen String umgewandelt wird.

Hinweis:Um einen häufigen Fehler in JavaScript zu vermeiden, müssen die Datentypen der Operanden beim Verwenden des Additionsopeaters sorgfältig überprüft werden.

Subtraktionsoperator

Der Subtraktionsoperator (-) ist auch ein häufig verwendeter Operator:

var iResult = 2 - 1;

Wie der Additionsoperator hat der Subtraktionsoperator auch einige spezielle Verhaltensweisen bei der Verarbeitung spezieller Werte:

  • Ist einer der Operanden NaN, dann ist das Ergebnis NaN.
  • Infinity minus Infinity ergibt NaN.
  • -Infinity minus -Infinity ergibt NaN.
  • Infinity minus -Infinity ergibt Infinity.
  • -Infinity minus Infinity ergibt -Infinity.
  • +0 minus +0 ergibt +0.
  • -0 minus -0 ergibt -0.
  • +0 minus -0 ergibt +0.
  • Ist ein Operand nicht eine Zahl, dann ist das Ergebnis NaN.

Anmerkung:Falls beide Operanden Zahlen sind, wird die reguläre Subtraktion ausgeführt und das Ergebnis zurückgegeben.