Spec-Zone.ru › JavaScript

Инкремент (++)

Базовая поддержка Широко доступно

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

Оператор **инкремента (++)** увеличивает (добавляет единицу к) свой операнд и возвращает значение до или после инкремента, в зависимости от того, где расположен оператор.

Попробовать

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"

Синтаксис

x++
++x

Описание

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

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

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

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

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

Примеры

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

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

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

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

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

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

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

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

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

Десктопные Мобильные Серверные
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
increment
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/Increment

Spec-Zone.ru

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