Decrement (--)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Der Dekrementoperator (--) dekrementiert (subtrahiert eins von) seinem Operanden und gibt den Wert vor oder nach dem Dekrement zurück, abhängig davon, wo der Operator platziert ist.

Probieren Sie es aus

Syntax

js
x--
--x

Beschreibung

Der -- Operator ist für zwei Arten von Operanden überladen: Zahl und BigInt. Er zwingt zuerst den Operanden zu einem numerischen Wert um und testet den Typ davon. Er führt ein BigInt-Dekrement aus, wenn der Operand ein BigInt wird; andernfalls führt er ein Zahlen-Dekrement aus.

Wird er nach dem Operanden verwendet (postfix, z.B. x--), dekrementiert der Dekrementoperator und gibt den Wert vor dem Dekrementieren zurück.

Wird er vor dem Operanden verwendet (präfix, z.B. --x), dekrementiert der Dekrementoperator und gibt den Wert nach dem Dekrementieren zurück.

Der Dekrementoperator kann nur auf Operanden angewendet werden, die Referenzen sind (Variablen und Objekteigenschaften, also gültige Zuweisungsziele). --x selbst wird zu einem Wert ausgewertet, nicht zu einer Referenz, daher können Sie nicht mehrere Dekrementoperatoren aneinander ketten.

js
--(--x); // SyntaxError: Invalid left-hand side expression in prefix operation

Beispiele

Postfix-Dekrement

js
let x = 3;
const y = x--;
// x is 2; y is 3

let x2 = 3n;
const y2 = x2--;
// x2 is 2n; y2 is 3n

Präfix-Dekrement

js
let x = 3;
const y = --x;
// x is 2; y = 2

let x2 = 3n;
const y2 = --x2;
// x2 is 2n; y2 is 2n

Spezifikationen

Specification
ECMAScript Language Specification
# sec-postfix-decrement-operator

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch