Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. 式と演算子
  5. デクリメント演算子 (--)

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

デクリメント演算子 (--)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

デクリメント演算子 (--) は、オペランドをデクリメント(1 を減算)し、演算子が置かれている場所次第で、デクリメントの前または後の値を返します。

試してみましょう

let x = 3;const y = x--;console.log(`x:${x}, y:${y}`);// 予想される結果: "x:2, y:3"let a = 3;const b = --a;console.log(`a:${a}, b:${b}`);// 予想される結果: "a:2, b:2"

構文

js
x----x

解説

-- 演算子は、数値と長整数の 2 種類のオペランドに対してオーバーロードされています。最初にオペランドを数値の値に変換し、その型を検査します。オペランドが長整数になった場合、長整数の減算を実行し、そうでない場合は数値の減算を実行します。

後置演算子として使用した場合(演算子がオペランドの後ろにあった場合、例えばx--)、デクリメント演算子は減算を行い、減算前の値を返します。

接頭辞として使用され、演算子がオペランドの前に置かれた場合(例えば--x)、減算演算子は減算を行い、減算後の値を返します。

デクリメント演算子は、参照(変数やオブジェクトのプロパティ、つまり有効な代入対象であるオペランドにのみ適用することができます。--x 自体は値として評価され、参照ではないため、複数のデクリメント演算子を連結することはできません。

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

後置デクリメント

js
let x = 3;const y = x--;// x は 2、y は 3let x2 = 3n;const y2 = x2--;// x2 は 2n、y2 は 3n

前置デクリメント

js
let x = 3;const y = --x;// x は 2; y = 2let x2 = 3n;const y2 = --x2;// x2 は 2n; y2 は 2n

仕様書

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

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp