Thanks to visit codestin.com
Credit goes to developer.mozilla.org

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Dekrement (--)

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

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

Probieren Sie es aus

let x = 3;
const y = x--;

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

let a = 3;
const b = --a;

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

Syntax

js
x--
--x

Beschreibung

Der ---Operator ist überladen für zwei Arten von Operanden: Zahl und BigInt. Zuerst wandelt er den Operanden in einen numerischen Wert um und testet dessen Typ. Er führt einen BigInt-Dekrement durch, wenn der Operand zu einem BigInt wird; andernfalls wird ein Zahlen-Dekrement durchgeführt.

Wird der Operator als Postfix verwendet, also nach dem Operanden (zum Beispiel x--), dekrementiert der Dekrement-Operator und gibt den Wert vor dem Dekrementieren zurück.

Wird der Operator als Präfix verwendet, also vor dem Operanden (zum Beispiel --x), dekrementiert der Dekrement-Operator und gibt den Wert nach dem Dekrementieren zurück.

Der Dekrement-Operator kann nur auf Operanden angewendet werden, die Referenzen sind (Variablen und Objekteigenschaften; d.h. gültige Zuordnungsziele). --x selbst wird zu einem Wert ausgewertet, nicht zu einer Referenz, daher können Sie keine mehreren Dekrement-Operatoren zusammenketten.

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

Spezifikation
ECMAScript® 2027 Language Specification
# sec-postfix-decrement-operator

Browser-Kompatibilität

Siehe auch