Spec-Zone.ru › JavaScript

Деменент (--)

Базовый уровень Широко доступен

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

Оператор декремента (--) уменьшает (вычитает единицу из) свой операнд и возвращает значение до или после декремента, в зависимости от того, где расположен оператор.

Попробуйте

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"

Синтаксис

x--
--x

Описание

Оператор -- перегружен для двух типов операндов: число и BigInt. Сначала он приводит операнд к числовому значению и проверяет его тип. Он выполняет декремент BigInt, если операнд становится BigInt; в противном случае он выполняет декремент числа.

При использовании в постфиксной форме, с оператором после операнда (например, x--), оператор декремента уменьшает значение и возвращает его до декремента.

При использовании в префиксной форме, с оператором перед операндом (например, --x), оператор декремента уменьшает значение и возвращает его после декремента.

Оператор декремента может быть применен только к операндам, которые являются ссылками (переменными и свойствами объектов; то есть, допустимыми целями присваивания). --x сам по себе вычисляется как значение, а не ссылка, поэтому вы не можете объединять несколько операторов декремента.

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

Примеры

Постфиксный декремент

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

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

Префиксный декремент

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

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

Спецификации

Спецификация
ECMAScript® 2027 Language Specification
# sec-postfix-decrement-operator

Совместимость с браузерами

Desktop Mobile Server
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
decrement
2
12
1
3
4
18
4
10.1
3.2
1.0
4.4
3.2
1.0.0
1.0
0.10.0

См. также

  • Сложение (+)
  • Вычитание (-)
  • Деление (/)
  • Умножение (*)
  • Остаток (%)
  • Возведение в степень (**)
  • Инкремент (++)
  • Унарное отрицание (-)
  • Унарный плюс (+)

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Decrement

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API