Increment (++)

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 Increment-Operator (++) erhöht (addiert eins zu) seinen Operand und gibt den Wert vor oder nach der Erhöhung zurück, abhängig davon, wo der Operator platziert ist.

Probieren Sie es aus

let x = 3;
const y = x++;

console.log(`x:${x}, y:${y}`);
// Expected output: "x:4, y:3"

let a = 3;
const b = ++a;

console.log(`a:${a}, b:${b}`);
// Expected output: "a:4, b:4"

Syntax

js
x++
++x

Beschreibung

Der ++-Operator ist für zwei Typen von Operanden überladen: Nummer und BigInt. Er zwingt zuerst den Operand in einen numerischen Wert und überprüft den Typ davon. Falls der Operand zu einem BigInt wird, führt er eine BigInt-Erhöhung durch; andernfalls führt er eine numerische Erhöhung durch.

Wenn er postfix verwendet wird, mit dem Operator nach dem Operanden (zum Beispiel x++), erhöht der Increment-Operator und gibt den Wert vor der Erhöhung zurück.

Wenn er prefix verwendet wird, mit dem Operator vor dem Operanden (zum Beispiel ++x), erhöht der Increment-Operator und gibt den Wert nach der Erhöhung zurück.

Der Increment-Operator kann nur auf Operanden angewendet werden, die Referenzen sind (Variablen und Objekteigenschaften; d. h. gültige Zuweisungsziele). ++x selbst wird zu einem Wert ausgewertet, nicht zu einer Referenz, sodass Sie mehrere Increment-Operatoren nicht miteinander verkettet verwenden können.

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

Beispiele

Postfix-Incremente

js
let x = 3;
const y = x++;
// x is 4; y is 3

let x2 = 3n;
const y2 = x2++;
// x2 is 4n; y2 is 3n

Prefix-Incremente

js
let x = 3;
const y = ++x;
// x is 4; y is 4

let x2 = 3n;
const y2 = ++x2;
// x2 is 4n; y2 is 4n

Spezifikationen

Specification
ECMAScript® 2025 Language Specification
# sec-postfix-increment-operator

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch