MDN の JavaScript セクションは、JavaScript 言語の全貌を含む情報集積所という役目を担っています。 詳しくはこのリファレンスについてを参照してください。

グローバルオブジェクト

この章ではメソッドやプロパティとともに JavaScript の標準ビルトインオブジェクトについて文書化しています。

値プロパティ

これらのグローバルプロパティは単なる値を返します。これらの値はプロパティもメソッドも持ちません。

関数プロパティ

これらのグローバル関数 ― オブジェクト上ではなくグローバルとして呼ばれる関数 ― は呼び出し元に直接結果を返します。

基本オブジェクト

これらはその他すべてのオブジェクトのベースとなる、主要な、基本的オブジェクトです。これらには一般的なオブジェクト、関数、そしてエラーを表すオブジェクトが含まれます。

数と日付

これらは数、日付、そして数学計算を表す基本的なオブジェクトです。

テキスト処理

これらは文字列表現、また文字列操作をサポートするオブジェクトです。

インデックス付きコレクション

これらのオブジェクトはインデックス値で順序付けされたデータコレクションを表します。これには(型付けされた)配列や配列のような構造体も含まれます。

キー付きコレクション

これらのオブジェクトはキーを使ったコレクションを表します。これらは挿入順に反復可能な要素で構成されています。

ベクトルコレクション

SIMD ベクトルデータ型はデータがレーン状に配置されたオブジェクトです。

構造化データ

これらのオブジェクトは構造化データバッファ、そして JavaScript Object Notation (JSON) を使ってコードされるデータを表現し、情報をやり取りします。

制御抽象化オブジェクト

リフレクション

国際化

言語に影響を受ける機能に対する ECMAScript コアへの追加機能です。

非標準オブジェクト

その他

この章では JavaScript の文と宣言について文書化しています。

アルファベット順リストは左サイドバーで確認できます。

制御フロー

ブロック
ブロック文は 0 個以上の文をグループ化するのに使います。ブロックは 1 組の波括弧で囲みます。
break
現在実行中のループ、switch による分岐、あるいはラベル文を終了し、その終了した文に続く文へとプログラムの制御を移行します。
continue
現在実行中のループ、またはラベル付きループで現在反復している文の実行を終了し、そのループの実行を次の反復から継続します。
空文
空文は、文が必要ないが JavaScript の文法上 1 つの文が必要な場合に使います。 
if...else
与えられた条件が真の場合はある文を実行します。条件が偽の場合はまた別の文を実行できます。
switch
ある式を評価し、式の値をケース節と照らし合わせ、ケース節に関連付けられた文を実行します。
throw
ユーザー定義の例外をスローします。
try...catch
実行を試み、例外がスローされた際に行うべき処理を規定する文のブロックを記述します。

宣言

var
変数を宣言し、その変数をある値に初期化することもできます。
let
ブロックスコープを持つ局所変数を宣言し、その変数をある値に初期化することもできます。
const
読み取り専用の名前付き定数を宣言します。

関数とクラス

function
特定の仮引数を持つ関数を宣言します。
function*
イテレータをより簡単に書けるジェネレータ関数です。
return
関数によって返される値を指定します。
class
クラスを宣言します。

反復処理

do...while
テスト条件が偽と評価されるまで指定された文を実行するループを作成します。この条件は文が実行されたあとに評価され、その結果少なくとも 1 回は指定された文が実行されます。
for
丸括弧で囲まれ、セミコロンで区切られた 3 つの式と、それに続くループ内で実行される文から構成されるループを作成します。
for each...in
オブジェクトプロパティの全ての値を、指定した変数を通して反復処理を行います。それぞれ個別のプロパティに対し、指定した文が実行されます。
for...in
オブジェクトの列挙可能なプロパティに対し任意の順番で反復処理を行います。それぞれ個別のプロパティに対し、文を実行できます。
for...of
反復可能オブジェクト(配列、配列様のオブジェクト、イテレータとジェネレータを含む)を反復処理し、それぞれ個別のプロパティの値に対する実行文をともなった反復処理フックを呼び出します。
while
テスト条件が真と評価される間、指定した文を実行するループを作成します。この条件は文が実行される前に評価されます。

その他

debugger
利用可能なデバッグ機能を呼び出します。利用可能なデバッグ機能がない場合、この文は無効となります。
export
外部モジュールや別のスクリプトに関数をインポートできるよう、これらをエクスポートするに使われます。
import
外部モジュールや別のスクリプトからエクスポートされる関数をインポートするのに使われます。
label
breakcontinue といった文を使う際に参照できる識別子を含む文を規定します。
with
文のスコープチェーンを拡張します。

式と演算子

この章では式と演算子について文書化しています。

アルファベット順リストは左側のサイドバーをご覧ください。

基本式

JavaScript の基本的なキーワードと一般的な式です。

this
this キーワードは関数の実行コンテキストを参照します。
function
function キーワードは関数式を定義します。
class
class キーワードはクラス式を定義します。
function*
function* キーワードはジェネレータ関数式を定義します。
yield
ジェネレータ関数の一時停止と再開を行います。
yield*
別のジェネレータ関数または反復可能オブジェクトを代行します。
[]
配列初期化子またはリテラル構文です。
{}
オブジェクト初期化子またはリテラル構文です。
/ab+c/i
正規表現式のリテラル構文です。
[for (x of y) x]
配列内包表記です。
(for (x of y) y)
ジェネレータ内包表記です。
( )
グループ化演算子です。

左辺式

左辺値は、代入の対象になります。

プロパティアクセス演算子
プロパティアクセス演算子はオブジェクトのプロパティやメソッドへのアクセスを提供します(object.propertyobject["property"] といった形で)。
new
new 演算子はコンストラクタのインスタンスを作成します。
new.target
コンストラクタ内で new.target を使うことで、new によって呼び出されるコンストラクタを参照できます。
super
super キーワードは親コンストラクタを呼び出します。
...obj
展開演算子(スプレッド演算子)は、式を複数の引数または複数の要素に展開して、それぞれ関数呼び出しまたは配列リテラルに渡します。

インクリメントとデクリメント

接尾/接頭辞のインクリメント演算子と接尾/接頭辞のデクリメント演算子です。

A++
接尾辞インクリメント演算子。
A--
接尾辞デクリメント演算子。
++A
接頭辞インクリメント演算子。
--A
接頭辞デクリメント演算子。

単項演算子

単項演算は、1 個のオペランドによる演算です。

delete
delete 演算子は、オブジェクトからプロパティを削除します。
void
void 演算子は、式の戻り値を破棄します。
typeof
typeof 演算子は、与えられたオブジェクトの型を判別します。
+
単項正値演算子は、そのオペランドを Number 型に変換します。
-
単項負値演算子は、そのオペランドを Number 型に変換して正負を反転します。
~
ビット否定演算子です。
!
論理否定演算子です。

算術演算子

算術演算子は、数値(リテラルまたは値)をオペランドとして取り、1 個の数値を返します。

+
加算演算子です。
-
減算演算子です。
/
除算演算子です。
*
乗算演算子です。
%
剰余演算子です。

関係演算子

比較演算子は、そのオペランドを比較し、その比較が真かどうかに基づいて Boolean 値を返します。

in
in 演算子は、与えられたプロパティをオブジェクトが持っているかどうかを判別します。
instanceof
instanceof 演算子は、オブジェクトが別のオブジェクトのインスタンスかどうかを判別します。
<
小なり演算子です。
>
大なり演算子です。
<=
以下演算子です。
>=
以上演算子です。

等値演算子

等値演算子の評価結果は常に、比較が真かどうかに基づいて Boolean 型の値になります。

==
等値演算子です。
!=
不等値演算子です。
===
同値演算子です。
!==
非同値演算子です。

ビットシフト演算子

オペランドのすべてのビットをシフト演算します。

<<
ビット左シフト演算子です。
>>
ビット右シフト演算子です。
>>>
ビット符号なし右シフト演算子です。

バイナリビット演算子

ビット演算子は、そのオペランドを 32 ビット (0 と 1) の並びとして扱い、標準の JavaScript 数値を返します。

&
ビット論理積 (AND) です。
|
ビット論理和 (OR) です。
^
ビット排他的論理和 (XOR) です。

バイナリ論理演算子

論理演算には、一般的に(論理)真偽値が使用され、それが置かれた時に真偽値を返します。

&&
論理積 (AND) です。
||
論理和 (OR) です。

条件(三項)演算子

(condition ? ifTrue : ifFalse)

この条件演算子は、条件の論理値を基に、2 つの値のいずれか一方を返します。

代入演算子

代入演算子は、右辺のオペランドに基づいて、値を左辺のオペランドに代入します。

=
代入演算子です。
*=
乗算値を代入します。
/=
除算値を代入します。
%=
剰余値を代入します。
+=
加算値を代入します。
-=
減算値を代入します。
<<=
左シフトした値を代入します。
>>=
右シフトした値を代入します。
>>>=
符号なしの右シフトした値を代入します。
&=
ビット論理積 (AND) の値を代入します。
^=
ビット排他的論理和 (XOR) の値を代入します。
|=
ビット論理和 (OR) の値を代入します。
[a, b] = [1, 2]
{a, b} = {a:1, b:2}

分割代入は、配列やオブジェクトのプロパティを、配列やオブジェクトリテラルに似た構文を使用して変数に代入します。

カンマ演算子

,
カンマ演算子は、複数の式を単一の文で評価し、その最後の式の結果を返します。

非標準の機能

レガシージェネレータ関数
function キーワードは、式の内部でレガシージェネレータ関数の定義に使用されます。関数をレガシージェネレータにするには、関数本体に少なくとも 1 個の yield 式を含めてください。
式クロージャ
式クロージャ構文は、単純な関数を書くための省略記法です。

関数

この章ではアプリケーションを開発する際、JavaScript の関数がどのように機能するについて文書化しています。

追加リファレンスページ

ドキュメントのタグと貢献者

タグ: 
 最終更新者: hodosan,