カンマ演算子

カンマ演算子は、その各オペランド(対象)を評価(左から右へ)し、最後のオペランドの値を返します。

文法

expr1, expr2, expr3...
引数 説明
expr1, expr2, expr3... それぞれの式を指定します。

1つの式が必要とされる場所に複数の式を含めたいような場合に、カンマ演算子を使用することが出来ます。 この演算子の最も一般的な使用方法に、forループへの複数のパラメーターの提供が挙げられます。

変数aが1次元側が10個の要素を持つ2次元配列である場合、 下記のコードはカンマ演算子を使用して、一度に2つの変数を増加します。 var文の中のカンマは、カンマ演算子は式の中には存在しないことから、 カンマ演算子では無いことに注意してください。 これは、var文の中で、それらをひとまとめに連結するための特別な文字です。 ただし、実際にはこのカンマはカンマ演算子とほとんど同じように動作します。 このコードは配列内の対角線上の位置の要素の値を出力します。

for (var i = 0, j = 9; i <= 9; i++, j--)
  document.writeln("a[" + i + "][" + j + "] = " + a[i][j]);

処理をした後に戻り値を返す

別の例として、戻り値を返す前に、カンマを使用して処理をさせるというものがあります。 最後の要素が返されるわけですが、その他の全ての要素は同様に評価されます。 そのため、次のような事が可能です。

function myFunc () {
  var x = 0;
  return (x += 1, x); // return ++x; と同じ
}

仕様

ブラウザ互換性

デスクトップ
機能 Chrome Firefox
(Gecko)
IE Opera Safari
基本
モバイル
機能 Android Chrome for
Android
Firefox
Mobile
IE
Mobile
Opera
Mobile
Safari
Mobile
基本

関連項目

 Back to top

© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
  • 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
  • MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。