JavaScript リファレンス
=================

JavaScript リファレンスは、 JavaScript 言語に関する事実の保管庫として機能します。言語全体がここで詳細に記述されています。 JavaScript のコードを書いていると、これらのページをよく参照することになります（だから「JavaScript リファレンス」という題名なのです）。

JavaScript 言語は、ブラウザーやサーバーサイドのスクリプトなど、何か大きな環境の中で使用されることを想定しています。ほとんどの場合、このリファレンスは環境に依存しないようにしており、ウェブブラウザー環境のみを対象としている訳ではありません。

もし JavaScript が初めてであれば、ガイドから始めてください。基本的なことをしっかりと把握したら、個々のオブジェクトや言語構成について、このリファレンスを使用して、より詳細な情報を取得することができます。

組み込みオブジェクト
----------

JavaScript の標準組み込みオブジェクトと、そのメソッドやプロパティです。

### 値プロパティ

* `globalThis`
* `Infinity`
* `NaN`
* `undefined`
### 関数プロパティ

* `eval()`
* `isFinite()`
* `isNaN()`
* `parseFloat()`
* `parseInt()`
* `decodeURI()`
* `decodeURIComponent()`
* `encodeURI()`
* `encodeURIComponent()`
* `escape()` 
非推奨
* `unescape()` 
非推奨
### 基本オブジェクト

* `Object`
* `Function`
* `Boolean`
* `Symbol`
### エラーオブジェクト

* `Error`
* `AggregateError`
* `EvalError`
* `RangeError`
* `ReferenceError`
* `SyntaxError`
* `TypeError`
* `URIError`
* `InternalError` 
Non-standard
### 数値と日付

* `Number`
* `BigInt`
* `Math`
* `Date`
### テキスト処理

* `String`
* `RegExp`
### 添字付きコレクション

* `Array`
* `Int8Array`
* `Uint8Array`
* `Uint8ClampedArray`
* `Int16Array`
* `Uint16Array`
* `Int32Array`
* `Uint32Array`
* `BigInt64Array`
* `BigUint64Array`
* `Float32Array`
* `Float64Array`
### キー付きコレクション

* `Map`
* `Set`
* `WeakMap`
* `WeakSet`
### 構造化データ

* `ArrayBuffer`
* `SharedArrayBuffer`
* `DataView`
* `Atomics`
* `JSON`
### メモリー管理

* `WeakRef`
* `FinalizationRegistry`
### 制御の抽象化

* `Iterator`
* `AsyncIterator`
* `Promise`
* `GeneratorFunction`
* `AsyncGeneratorFunction`
* `Generator`
* `AsyncGenerator`
* `AsyncFunction`
### リフレクション

* `Reflect`
* `Proxy`
### 国際化

* `Intl`
* `Intl.Collator`
* `Intl.DateTimeFormat`
* `Intl.DisplayNames`
* `Intl.DurationFormat` (en-US)
* `Intl.ListFormat`
* `Intl.Locale`
* `Intl.NumberFormat`
* `Intl.PluralRules`
* `Intl.RelativeTimeFormat`
* `Intl.Segmenter`
文
-

JavaScript の文と宣言

### 制御フロー

* `return`
* `break`
* `continue`
* `throw`
* `if...else`
* `switch`
* `try...catch`
### 宣言

* `var`
* `let`
* `const`
### 関数とクラス

* `function`
* `function*`
* `async function`
* `async function*`
* `class`
### 反復処理

* `do...while`
* `for`
* `for...in`
* `for...of`
* `for await...of`
* `while`
### その他

* 空文
* ブロック
* 式文
* `debugger`
* `export`
* `import`
* ラベル
* `with` 
非推奨
式と演算子
-----

JavaScript の式と演算子

### 主要な式

* `this`
* リテラル
* `[]`
* `{}`
* `function`
* `class`
* `function*`
* `async function`
* `async function*`
* `/ab+c/i`
* ``string``
* `( )`
### 左辺式

* プロパティアクセサー
* `?.`
* `new`
* `new.target`
* `import.meta`
* `super`
* `import()`
### インクリメントとデクリメント

* `A++`
* `A--`
* `++A`
* `--A`
### 単項演算子

* `delete`
* `void`
* `typeof`
* `+`
* `-`
* `~`
* `!`
* `await`
### 算術演算子

* `**`
* `*`
* `/`
* `%`
* `+` (プラス)
* `-`
### 関係演算子

* `<` (小なり)
* `>` (大なり)
* `<=`
* `>=`
* `instanceof`
* `in`
### 等価演算子

* `==`
* `!=`
* `===`
* `!==`
### ビットシフト演算子

* `<<`
* `>>`
* `>>>`
### バイナリービット演算子

* `&`
* `|`
* `^`
### バイナリー論理演算子

* `&&`
* `||`
* `??`
### 条件 (三項) 演算子

* `(condition ? ifTrue : ifFalse)`
### 代入演算子

* `=`
* `*=`
* `/=`
* `%=`
* `+=`
* `-=`
* `<<=`
* `>>=`
* `>>>=`
* `&=`
* `^=`
* `|=`
* `**=`
* `&&=`
* `||=`
* `??=`
* `[a, b] = arr`, `{ a, b } = obj`
### yield 演算子

* `yield`
* `yield*`
### スプレッド構文

* `...obj`
### カンマ演算子

* `,`
関数
--

JavaScript の関数

* アロー関数
* デフォルト引数
* 残余引数
* `arguments`
* メソッド定義
* ゲッター
* セッター
クラス
---

JavaScript のクラス

* `constructor`
* `extends`
* プライベートクラス機能
* パブリッククラスフィールド
* `static`
* 静的初期化ブロック
追加のリファレンスページ
------------

* 字句文法
* データ型とデータ構造
* 反復処理プロトコル
* 末尾のカンマ
* エラー
* 厳格モード
* 非推奨の機能