JavaScript
Baseline 対応「このJavaScript機能は今、使っていいか?」を一瞬で判断できる実務特化リファレンス。
- Widely available80機能
- Newly available21機能
- Limited support20機能
カテゴリ別一覧
JSON
JSON 名前空間オブジェクトは、 JavaScript Object Notation (JSON) を解釈したり、値を JSON に変換したりする静的メソッドを持ちます。
Map (initial support)
Map オブジェクトはキーと値のペアを保持し、キーが最初に挿入された順序を覚えています。
Set (initial support)
Set オブジェクトは、プリミティブ値やオブジェクト参照を問わず、あらゆる型で多数の一意の値を格納することができます。
WeakMap
WeakMap はキーと値の組の集合ですが、キーはオブジェクトまたは非登録シンボルでなければならず、値は任意の JavaScript 型で、キーへの強い参照を生成しません。
WeakSet
WeakSet オブジェクトは、コレクションに弱く参照されたオブジェクトを格納することができます。
Async iterators and the for await..of loop
AsyncIterator オブジェクトは 非同期イテレータープロトコル に準拠したオブジェクトで、 next() メソッドを提供することでイテレーターの結果オブジェクトに履行されるプロミスを返します。
Iterators and the for...of loop
Iterator オブジェクトは、イテレーターの結果オブジェクトを返す next() メソッドを提供することで、イテレータープロトコルに準拠したオブジェクトです。
Typed array iterators
[Symbol.iterator]() は TypedArray インスタンスのプロパティで、反復可能プロトコルを実装し、型付き配列をスプレッド構文や for...of ループのような反復可能オブジェクトを想定するほとんどの構文で利用できるようにするためのものです。
Date
JavaScript の Date オブジェクトは、単一の瞬間の時刻をプラットフォームに依存しない形式で表します。
Math and numbers
Number (数値)の値は 37 や -9.25 のような浮動小数点数を表します。
String (initial support)
String オブジェクトは文字の並びを表したり操作したりするために使用されます。
Symbol
Symbol は組み込みオブジェクトであり、コンストラクターは一意であることが保証されているシンボルプリミティブ(シンボル値または単にシンボル)を返します。
JavaScript modules
export 宣言は、JavaScript モジュールから値をエクスポートするために使用されます。
JavaScript modules in workers
Web Worker 内で ES Modules の import/export を使用可能にする機能。
Typed array iteration methods
every() は TypedArray インスタンスのメソッドで、提供された関数で実装されたテストに、型付き配列内のすべての要素が合格するかどうかをテストします。
Typed arrays (initial support)
ArrayBuffer オブジェクトは、一般的な生のバイナリーデータバッファーを表現するために使用します。
Async functions
AsyncFunction オブジェクトは、非同期関数のメソッドを提供します。
Async generators
AsyncGenerator オブジェクトは非同期ジェネレーター関数から返されるもので、非同期反復可能プロトコルと非同期イテレータープロトコルの両方を満たすものです。
BigInt
BigInt は、大きすぎてまたは小さすぎて数値 (number) プリミティブで表すことができない数を表現します。
BigInt64Array
BigInt64Array は型付き配列で、プラットフォームのバイト順による 64 ビット符号付き整数値の配列を表します。
Classes
class 宣言は、指定された名前の新しい class を作成します。
Destructuring
構造分解(destructuring、旧:分割代入)構文は、配列から値を取り出して、あるいはオブジェクトからプロパティを取り出して別個の変数に代入することを可能にする JavaScript の構文です。
Error cause
cause は Error インスタンスのデータプロパティで、エラーの元の原因を示します。
Exponentiation operator
べき乗演算子 (**) は、1 つ目のオペランドを 2 つ目のオペランドで累乗した結果を返します。
Functions
Function オブジェクトは関数についてのメソッドを提供します。
Generators
Generator オブジェクトはジェネレーター関数によって返され、反復可能プロトコルとイテレータープロトコルの両方に準拠しています。
globalThis
globalThis はグローバルプロパティで、グローバルオブジェクトと同等であるグローバルな thisが格納されています。
Hashbang comments
このページでは、 JavaScript での字句文法を説明します。
JavaScript (initial core language support)
論理値 (Boolean) は、 2 つの値、 true または false のどちらかです。
Let and const
const 宣言はブロックスコープのローカル変数(定数)を宣言します。
Logical assignments
論理積代入演算子 (&&=) は、左オペランドが真値の場合にのみ右オペランドを評価し、左オペランドに代入します。
Nullish coalescing
ヌル値合体演算子 (??) は論理演算子の一種です。
Numeric separators
このページでは、 JavaScript での字句文法を説明します。
Object
Object 型は JavaScript のデータ型の一つを表します。
Object.hasOwn()
Object.hasOwn() は静的メソッドで、指定されたオブジェクトが、指定されたプロパティを自身のプロパティとして持っている場合に true を返します。
Optional catch binding
catch 句のエラー引数を省略できる構文。エラーオブジェクトが不要な場合に簡潔に記述可能。
Proxy and Reflect
Proxy オブジェクトにより別なオブジェクトのプロキシーを作成することができ、そのオブジェクトの基本的な操作に介入したり再定義したりすることができます。
SharedArrayBuffer and Atomics
Atomics 名前空間オブジェクトには、不可分操作を実行するための静的メソッドが含まれています。
Spread syntax
スプレッド構文 (...) 構文を使うと、配列式や文字列などの反復可能オブジェクトを、0 個以上の引数(関数呼び出しの場合)や要素(配列リテラルの場合)を目的の場所に展開することができます。
Template literals
テンプレートリテラルは逆引用符 (`) で区切られたリテラルで、複数行の文字列、埋め込み式による文字列の補間、タグ付きテンプレートと呼ばれる特殊な構文を許可します。
Unicode point escapes
このページでは、 JavaScript での字句文法を説明します。
Weak references
FinalizationRegistry オブジェクトにより、オブジェクトがガベージコレクションで回収されるときにコールバックを要求することができます。
Intl
Intl は名前空間オブジェクトで、国際化コンストラクターやその他の言語依存関数に共通する機能などの複数のコンストラクターを含みます。
Intl.DisplayNames
Intl.DisplayNames オブジェクトは、言語、地域、文字体系の表示名の一貫した翻訳を可能にします。
Intl.ListFormat
Intl.ListFormat オブジェクトは、言語を考慮したリストの整形ができるようにします。
Intl.Locale
Intl.Locale オブジェクトは、 Unicode ロケール識別子を表す Intl オブジェクトの標準組み込みプロパティです。
Intl.PluralRules
Intl.PluralRules オブジェクトは、複数形が影響する書式や言語ルールを使用できるようにします。
Intl.RelativeTimeFormat
Intl.RelativeTimeFormat オブジェクトは言語に依存の相対時間の書式化を可能にします。
Regular expressions
RegExp オブジェクトは、テキストをパターンと照合するために使用します。
Array (initial support)
Array オブジェクトは、他のプログラミング言語の配列と同様に、複数のアイテムの集合を単一の変数名の下に格納することができ、共通の配列操作を行うためのメンバーを持っています。
Array at()
at() は Array インスタンスのメソッドで、整数値を受け取り、そのインデックスにある項目を返します。
Array by copy
toReversed() は Array インスタンスのメソッドで、 reverse() メソッドに対応するコピーメソッドです。
Array copyWithin()
copyWithin() は Array インスタンスのメソッドで、この配列の一部を配列内の他の場所にシャローコピーし、この配列を長さを変更せずに返します。
Array fill()
fill() は Array インスタンスのメソッドで、インデックスの範囲内にある配列のすべての要素を一定の値に変更します。
Array find() and findIndex()
find() は Array インスタンスのメソッドで、提供されたテスト関数を満たす配列内の最初の要素を返します。
Array findLast() and findLastIndex()
findLast() は Array インスタンスのメソッドで、配列を逆順に反復処理し、指定されたテスト関数を満たす最初の要素の値を返します。
Array flat() and flatMap()
flat() は Array インスタンスのメソッドで、すべてのサブ配列の要素を指定した深さで再帰的に結合した新しい配列を生成します。
Array includes()
includes() は Array インスタンスのメソッドで、特定の要素が配列に含まれているかどうかを true または false で返します。
Array iteration methods
every() は Array インスタンスのメソッドは、列内のすべての要素が指定された関数で実装されたテストに合格するかどうかをテストします。
Array iterators
[Symbol.iterator]() は Array インスタンスのメソッドで、反復可能プロトコルを実装しており、スプレッド構文や for...of ループのような反復可能オブジェクトを期待するほとんどの構文で配列を利用することができます。
Array splice()
splice() は Array インスタンスのメソッドで、その場 (in-place) で既存の要素を取り除いたり、置き換えたり、新しい要素を追加したりすることで、配列の内容を変更します。
Array.from()
Array.from() 静的メソッドは、反復可能オブジェクトや配列風オブジェクトからシャローコピーされた、新しい Array インスタンスを生成します。
Array.isArray()
Array.isArray() 静的メソッドは、渡された値が Array かどうかを判断します。
Array.of()
Array.of() 静的メソッドは、引数の数や型にかかわらず、可変長引数から、新しい Array インスタンスを生成します。
Stable array sort
Array.sort() の安定ソートが保証された仕様。同じ値の要素の相対順序が維持される。
Promise (initial support)
Promise オブジェクトは、非同期処理の完了(もしくは失敗)の結果およびその結果の値を表します。
Promise finally()
finally() は Promise インスタンスのメソッドで、プロミスが決定したとき(履行されたか拒否されたかのどちらか)に呼び出される関数を準備します。
Promise.allSettled()
Promise.allSettled() は静的メソッドで、入力としてプロミスの反復可能オブジェクトを受け取り、単一の Promise を返します。
Promise.any()
AggregateError オブジェクトは、複数のエラーを 1 つのエラーにまとめる必要があるときのエラーを表します。
String at()
at() は String 値のメソッドで、整数値を受け取り、指定したオフセットに位置する 1 つの UTF-16 コード単位からなる新しい文字列を返します。
String codePointAt() and fromCodePoint()
codePointAt() は String 値のメソッドで、指定されたインデックスから始まる文字の Unicode コードポイント値である非負の整数を返します。
String includes()
includes() は String 値のメソッドで、大文字と小文字を区別して検索を行い、指定された文字列がこの文字列内で見つかるかどうかを判断し、必要に応じて true または false を返します。
String matchAll()
matchAll() は String 値のメソッドで、この文字列と正規表現を照合したすべての結果を、キャプチャグループを含み、イテレーターで返すメソッドです。
String normalize()
normalize() は String 値のメソッドで、この文字列の Unicode 正規化形式を返します。
String padStart() and padEnd()
padEnd() は String 値のメソッドで、結果の文字列が指定した長さになるように、現在の文字列を他の文字列で(必要に応じて繰り返して)延長します。
String raw()
String.raw() 静的メソッドは、テンプレートリテラルのためのタグ関数です。
String repeat()
repeat() は String 値のメソッドで、呼び出し元の文字列を指定した数だけコピーして結合した新しい文字列を構築して返します。
String replaceAll()
replaceAll() は String 値のメソッドで、pattern に一致したすべての文字列を replacement で置き換えた新しい文字列を返します。
String startsWith() and endsWith()
endsWith() は String 値のメソッドで、文字列が引数で指定された文字列で終わるかを判定して true か false を返します。
String trimStart() and trimEnd()
trimEnd() は String 値のメソッドで、元の文字列を変更せずに、文字列の末尾のホワイトスペースを削除した新しい文字列を返します。
JSON import attributes
JSON ファイルを JavaScript モジュールとしてインポートする機能。with { type: 'json' } 構文を使用。
JSON source text access
JSON.isRawJSON() は静的メソッドで、ある値が JSON.rawJSON() から返されるオブジェクトであるかどうかを検査します。
Array grouping
メモ:
Map getOrInsert()
`Map` インスタンスの `getOrInsert()` メソッドは、この `Map` 内で指定されたキーに対応する値を返します。
Set methods
difference() は Set インスタンスのメソッドで、集合を一つ受け取り、この Set に含まれており、与えられた集合に含まれない要素を含む新しい Set を返します。
Iterator methods
Iterator() コンストラクターは、イテレーターを作成する他のクラスのスーパークラスとして意図通りに使用されることを目的としています。
Iterator.concat()
Iterator.concat() は静的メソッドで、新しい Iterator オブジェクトを反復可能オブジェクトのリストから作成します。
JavaScript modules in service workers
Service Worker 内で ES Modules の import/export を使用可能にする機能。
Float16Array
Float16Array 型配列は、プラットフォームのバイトオーダーで 16 ビット浮動小数点数の配列を表します。
Uint8Array base64 and hex conversion
Uint8Array.fromBase64() は静的メソッドで、新しい Uint8Array オブジェクトを base64 でエンコードされた文字列から作成します。
Atomics.pause()
Atomics.pause() は静的メソッドで、呼び出し側が共有リソースへのアクセスを待機している間、CPU にそのことを知らせるマイクロ待機プリミティブを提供します。
Atomics.waitAsync()
Atomics.waitAsync() 静的メソッドは、共有メモリー位置が指定された値を含むことを確認し、メモリー位置が指定された値と一致しない場合は文字列 "not-equal" を含む value プロパティを持つオブジェクトを即座に返し、タイムアウトが 0 に設定されている場合は "timed-out" を返します。
Resizable buffers
maxByteLength は ArrayBuffer インスタンスのアクセサープロパティで、この配列バッファーがサイズ変更可能な最大長をバイト数で表します。
Transferable ArrayBuffer
detached は ArrayBuffer インスタンスのアクセサープロパティで、このバッファーが分離(移譲)されたかどうかを示す論理値を返します。
Intl.DurationFormat
Intl.DurationFormat オブジェクトにより、言語に依存した経過時間の書式化ができます。
Intl.Segmenter
Intl.Segmenter オブジェクトは、ロケールに応じてテキストを区切ることができ、文字列から意味のある項目(書記素、単語、文)を取得することができます。
RegExp.escape()
RegExp.escape() は静的メソッドで、文字列内の潜在的な正規表現構文文字をエスケープし、リテラルパターンとして RegExp() コンストラクターで安全に使用できる新しい文字列を返します。
Array.fromAsync()
Array.fromAsync() は静的メソッドで、非同期反復可能オブジェクト、反復可能オブジェクト、配列風のオブジェクトから、シャローコピーされた新しい配列インスタンスを作成します。
Promise.try()
Promise.try() 静的メソッドは、あらゆる種類のコールバック(返す、発生する、同期的、非同期的)を受け取り、その結果を Promise でラップします。
Promise.withResolvers()
Promise.withResolvers() 静的メソッドは、新しい Promise オブジェクトと、Promise() コンストラクターの実行子に渡す 2 つの引数に対応する、解決または拒否の 2 つの関数を含むオブジェクトを返します。
String isWellFormed() and toWellFormed()
isWellFormed() は String 値のメソッドで、この文字列に孤立サロゲートがあるかどうかを示す論理値を返します。
Serializable errors
シリアライズ可能オブジェクトは、どのような JavaScript 環境 ("realm") でもシリアライズし、後でデシリアライズすることができるオブジェクトです。
CSS import attributes
CSS ファイルを JavaScript モジュールとしてインポートする機能。with { type: 'css' } 構文を使用。
Import assertions
import 文でモジュールの型を明示する構文。JSON や CSS モジュールのインポートに使用。
Explicit resource management
AsyncDisposableStack オブジェクトは、スタック自体が破棄される際に実行される非同期ディスポーザーのスタックを表します。
__proto__
非推奨;: この機能は非推奨になりました。
Accessor methods
非推奨;: この機能は非推奨になりました。
arguments.callee
非推奨;: この機能は非推奨になりました。
Error.isError()
Error.isError() は静的メソッドで、渡された値が Error であるかどうかを判定します。
escape() and unescape()
非推奨;: この機能は非推奨になりました。
Function caller and arguments
非推奨;: この機能は非推奨になりました。
getYear() and setYear()
非推奨;: この機能は非推奨になりました。
HTML wrapper methods
非推奨;: この機能は非推奨になりました。
Math.sumPrecise()
Math.sumPrecise() は静的メソッドで、数値の反復可能オブジェクトを受け取り、それらの和を返します。
Temporal
Experimental: これは実験的な機能です。
toGMTString()
toUTCString() は Date インスタンスのメソッドで、この日付を RFC 7231 形式で表す文字列を返します。
Top-level await
await 演算子はプロミス (Promise) を待ち、履行値を取得するために使用します。
with
非推奨;: この機能は非推奨になりました。
Intl.Locale info
getCalendars() は Intl.Locale インスタンスのメソッドで、このロケールの 1 つ以上の固有の暦識別子の配列を返します。
RegExp compile()
非推奨;: この機能は非推奨になりました。
RegExp static properties
非推奨;: この機能は非推奨になりました。