式と演算子
この節では、JavaScript 言語のすべての演算子、式、キーワードについて記述しています。
式と演算子 (カテゴリー別)
アルファベット順の一覧は左側のサイドバーをご覧ください。
基本式
JavaScript の基本的なキーワードと一般的な式です。
this
-
this
キーワードは関数の実行コンテキストを参照します。 function
-
function
キーワードは関数式を定義します。 class
-
class
キーワードはクラス式を定義します。 function*
-
function*
キーワードはジェネレーター関数式を定義します。 yield
-
ジェネレーター関数の一時停止と再開を行います。
yield*
-
別のジェネレーター関数または反復可能オブジェクトを代行します。
async function
-
async function
は非同期の関数式を定義します。 await
-
非同期関数式の停止/再開と、プロミスの解決/拒否を待ちます。
[]
-
配列初期化子またはリテラル構文です。
{}
-
オブジェクト初期化子またはリテラル構文です。
/ab+c/i
-
正規表現式のリテラル構文です。
( )
-
グループ化演算子です。
左辺式
左辺値は、代入の対象になります。
- プロパティアクセサー
-
プロパティアクセス演算子はオブジェクトのプロパティやメソッドへのアクセス (
object.property
やobject["property"]
) を提供します。 new
-
new
演算子はコンストラクターのインスタンスを作成します。 new.target
-
コンストラクター内で
new.target
を使うことで、new
によって呼び出されるコンストラクターを参照できます。 import.meta
-
コンテキストに依存したメタデータを JavaScript モジュールへ公開するオブジェクトです。
super
-
super
キーワードは親コンストラクターを呼び出します。 ...obj
-
展開記法 (スプレッド記法) は、式を複数の引数または複数の要素に展開して、それぞれ関数呼び出しまたは配列リテラルに渡します。
インクリメントとデクリメント
単項演算子
算術演算子
関係演算子
等値演算子
ビットシフト演算子
バイナリービット演算子
バイナリー論理演算子
条件 (三項) 演算子
(条件 ? 真の場合 : 負の場合)
-
この条件演算子は、条件の論理値を基に、2 つの値のいずれか一方を返します。
オプショナルチェーン演算子
代入演算子
代入演算子は、右辺のオペランドに基づいて、値を左辺のオペランドに代入します。
=
-
代入演算子です。
*=
-
乗算値を代入します。
**=
-
べき乗値を代入します。
/=
-
除算値を代入します。
%=
-
剰余値を代入します。
+=
-
加算値を代入します。
-=
-
減算値を代入します。
<<=
-
左シフトした値を代入します。
>>=
-
右シフトした値を代入します。
>>>=
-
符号なしの右シフトした値を代入します。
&=
-
ビット論理積 (AND) の値を代入します。
^=
-
ビット排他的論理和 (XOR) の値を代入します。
|=
-
ビット論理和 (OR) の値を代入します。
&&=
-
論理積代入です。
||=
-
論理和代入です。
??=
-
論理 Null 代入です。
-
[a, b] = [1, 2]
{a, b} = {a:1, b:2}
-
分割代入は、配列やオブジェクトのプロパティを、配列やオブジェクトリテラルに似た構文を使用して変数に代入します。
カンマ演算子
,
-
カンマ演算子は、複数の式を単一の文で評価し、その最後の式の結果を返します。
仕様書
ブラウザーの互換性
BCD tables only load in the browser