この節では、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
によって呼び出されるコンストラクタを参照できます。 super
super
キーワードは親コンストラクタを呼び出します。...obj
- 展開記法 (スプレッド記法) は、式を複数の引数または複数の要素に展開して、それぞれ関数呼び出しまたは配列リテラルに渡します。
インクリメントとデクリメント
接尾/接頭辞のインクリメント演算子と接尾/接頭辞のデクリメント演算子です。
単項演算子
単項演算は、1 個のオペランドによる演算です。
算術演算子
算術演算子は、数値 (リテラルまたは値) をオペランドとして取り、1 個の数値を返します。
関係演算子
比較演算子は、そのオペランドを比較し、その比較が真かどうかに基づいて Boolean
値を返します。
in
in
演算子は、与えられたプロパティをオブジェクトが持っているかどうかを判別します。instanceof
instanceof
演算子は、オブジェクトが別のオブジェクトのインスタンスかどうかを判別します。<
- 小なり演算子です。
>
- 大なり演算子です。
<=
- 小なりイコール演算子です。
>=
- 大なりイコール演算子です。
注: => は演算子ではなく、アロー関数 のための記法です。
等値演算子
ビットシフト演算子
バイナリービット演算子
ビット演算子は、そのオペランドを 32 ビット (0 と 1) の並びとして扱い、標準の JavaScript 数値を返します。
バイナリー論理演算子
条件 (三項) 演算子
(condition ? ifTrue : ifFalse)
-
この条件演算子は、条件の論理値を基に、2 つの値のいずれか一方を返します。
オプショナルチェイニング演算子
代入演算子
代入演算子は、右辺のオペランドに基づいて、値を左辺のオペランドに代入します。
=
- 代入演算子です。
*=
- 乗算値を代入します。
**=
- べき乗値を代入します。
/=
- 除算値を代入します。
%=
- 剰余値を代入します。
+=
- 加算値を代入します。
-=
- 減算値を代入します。
<<=
- 左シフトした値を代入します。
>>=
- 右シフトした値を代入します。
>>>=
- 符号なしの右シフトした値を代入します。
&=
- ビット論理積 (AND) の値を代入します。
^=
- ビット排他的論理和 (XOR) の値を代入します。
|=
- ビット論理和 (OR) の値を代入します。
&&=
- 論理積代入です。
||=
- 論理和代入です。
??=
- 論理 Null 代入です。
[a, b] = [1, 2]
{a, b} = {a:1, b:2}
-
分割代入は、配列やオブジェクトのプロパティを、配列やオブジェクトリテラルに似た構文を使用して変数に代入します。
カンマ演算子
,
- カンマ演算子は、複数の式を単一の文で評価し、その最後の式の結果を返します。
仕様
ブラウザーの互換性
BCD tables only load in the browser