JavaScript

Baseline 対応

「このJavaScript機能は今、使っていいか?」を一瞬で判断できる実務特化リファレンス。

  • Widely available
    80
    機能
  • Newly available
    21
    機能
  • Limited support
    20
    機能

安心して使える

Widely available
Widely JSON

JSON

JavaScript オブジェクトとJSON文字列の相互変換を行う。stringify と parse が基本メソッド。

Widely Map・Set

Map (initial support)

キーと値のペアを格納するコレクション。Object と異なり、任意の型をキーに使用可能。

Widely Map・Set

Set (initial support)

一意な値のコレクション。重複を自動的に排除し、存在確認が高速。

Widely WeakMap・WeakSet

WeakMap

キーがオブジェクトのみで、ガベージコレクションを妨げない Map。プライベートデータの格納に使用。

Widely WeakMap・WeakSet

WeakSet

オブジェクトのみを格納でき、ガベージコレクションを妨げない Set。既処理オブジェクトの追跡に使用。

Widely イテレータ

Async iterators and the for await..of loop

非同期イテレータと for await...of ループ。非同期データソースの逐次処理に使用。

Widely イテレータ

Iterators and the for...of loop

イテレータと for...of ループ。配列・Map・Set 等の反復可能オブジェクトを統一的に処理する仕組み。

Widely イテレータ

Typed array iterators

型付き配列のイテレータ。keys(), values(), entries() で TypedArray を反復処理可能。

Widely プリミティブ型

Date

日時を扱うオブジェクト。作成、フォーマット、計算などの日時操作を提供。

Widely プリミティブ型

Math and numbers

数値と数学関数。Number のメソッドと Math オブジェクトの演算機能を提供。

Widely プリミティブ型

String (initial support)

文字列の基本機能。連結、検索、分割などの文字列操作メソッドを提供する。

Widely プリミティブ型

Symbol

一意で不変のプリミティブ値。プロパティキーの衝突回避やオブジェクトの内部動作のカスタマイズに使用。

Widely モジュール

JavaScript modules

import/export でコードをモジュール単位に分割する仕組み。依存関係の明示とツリーシェイキングを実現。

Widely モジュール

JavaScript modules in workers

Web Worker 内で ES Modules の import/export を使用可能にする機能。

Widely 型付き配列

Typed array iteration methods

型付き配列の反復メソッド。map, filter, find 等を TypedArray で使用可能。

Widely 型付き配列

Typed arrays (initial support)

バイナリデータを効率的に扱う型付き配列。Int8Array, Float32Array 等の固定型配列を提供。

Widely 言語コア

Async functions

Promise ベースの非同期処理を同期的な書き方で記述できる構文。コードの可読性を大幅に向上させる。

Widely 言語コア

Async generators

非同期イテレータを生成する関数。async function* で宣言し、await と yield を組み合わせ可能。

Widely 言語コア

BigInt

任意精度の整数型。Number の安全な整数範囲を超える大きな数値を正確に扱える。

Widely 言語コア

BigInt64Array

64ビット符号付き整数の型付き配列。BigInt 値を格納する TypedArray。

Widely 言語コア

Classes

class 構文でオブジェクト指向プログラミングを行う。コンストラクタ、継承、メソッド定義を簡潔に記述可能。

Widely 言語コア

Destructuring

配列やオブジェクトの値を個別の変数に展開する構文。関数の引数やインポートでも使用可能。

Widely 言語コア

Error cause

エラーの原因を cause プロパティで連鎖的に記録する仕組み。エラーのコンテキストを保持可能。

Widely 言語コア

Exponentiation operator

べき乗演算子 (**)。Math.pow() の代替として簡潔にべき乗を記述可能。

Widely 言語コア

Functions

関数の基本機能。宣言、式、デフォルト引数、レスト引数などを提供。

Widely 言語コア

Generators

イテレータを生成する特殊な関数。yield で値を逐次返し、遅延評価を実現する。

Widely 言語コア

globalThis

環境に依存しないグローバルオブジェクトへの参照。ブラウザ(window)、Node.js(global)を統一。

Widely 言語コア

Hashbang comments

スクリプトファイルの先頭に #! でインタープリタを指定するコメント構文。

Widely 言語コア

JavaScript (initial core language support)

JavaScript の初期コア言語機能。変数宣言、制御構文、基本演算子など言語の基盤。

Widely 言語コア

Let and const

ブロックスコープの変数宣言。let は再代入可能、const は再代入不可。var の問題を解消。

Widely 言語コア

Logical assignments

論理代入演算子。||=, &&=, ??= でデフォルト値の設定や条件付き代入を簡潔に記述。

Widely 言語コア

Nullish coalescing

null/undefined のみをチェックする演算子 (??)。|| と異なり 0 や空文字を有効値として扱う。

Widely 言語コア

Numeric separators

数値リテラルにアンダースコア区切りを使える構文。大きな数値の可読性を向上させる。

Widely 言語コア

Object

Object の基本機能。assign, create, freeze, keys 等のオブジェクト操作メソッドを提供。

Widely 言語コア

Object.hasOwn()

オブジェクトが指定プロパティを直接持つかを判定する静的メソッド。hasOwnProperty の安全な代替。

Widely 言語コア

Optional catch binding

catch 句のエラー引数を省略できる構文。エラーオブジェクトが不要な場合に簡潔に記述可能。

Widely 言語コア

Proxy and Reflect

オブジェクトの操作をインターセプトする Proxy と、オブジェクト操作の標準メソッドを提供する Reflect。

Widely 言語コア

SharedArrayBuffer and Atomics

スレッド間で共有可能なメモリと不可分操作。SharedArrayBuffer と Atomics を提供。

Widely 言語コア

Spread syntax

配列やオブジェクトを展開する構文。コピー、マージ、関数引数の展開に使用。

Widely 言語コア

Template literals

バッククォートで囲んだ文字列リテラル。式の埋め込みや複数行の記述が可能。

Widely 言語コア

Unicode point escapes

\u{} 構文で任意の Unicode コードポイントを文字列に埋め込める。サロゲートペア不要。

Widely 言語コア

Weak references

オブジェクトへの弱い参照を保持する WeakRef と、クリーンアップコールバックの FinalizationRegistry。

Widely 国際化(Intl)

Intl

国際化APIの基盤。日付・数値・文字列の地域対応フォーマット機能を提供。

Widely 国際化(Intl)

Intl.DisplayNames

言語名・地域名・通貨名などの翻訳済み表示名を取得する API。

Widely 国際化(Intl)

Intl.ListFormat

リスト(配列)をロケールに応じた形式でフォーマットする API。「A、B、C」や「A and B」のような表現を生成。

Widely 国際化(Intl)

Intl.Locale

ロケール情報を扱うオブジェクト。言語、地域、スクリプトなどの情報にアクセス可能。

Widely 国際化(Intl)

Intl.PluralRules

複数形のルールをロケールに応じて判定する API。「1 item」vs「2 items」のような表現に使用。

Widely 国際化(Intl)

Intl.RelativeTimeFormat

相対的な時間表現(「3日前」「2時間後」)をロケールに応じてフォーマットする API。

Widely 正規表現

Regular expressions

パターンマッチングと文字列検索・置換を行うオブジェクト。名前付きキャプチャや後読みなどの機能を提供。

Widely 配列

Array (initial support)

順序付きデータを格納するオブジェクト。多数の反復・変換メソッドを備える JavaScript の基本データ構造。

Widely 配列

Array at()

配列の末尾から要素にアクセスできるメソッド。負のインデックスで末尾からの取得が可能。

Widely 配列

Array by copy

元の配列を変更せずにソート・反転・挿入を行うメソッド群。toSorted, toReversed, with, toSpliced を提供。

Widely 配列

Array copyWithin()

配列内で要素をコピーして別の位置に配置するメソッド。配列の長さは変わらない。

Widely 配列

Array fill()

配列の指定範囲を固定値で埋めるメソッド。初期化やリセットに便利。

Widely 配列

Array find() and findIndex()

配列から条件に合う要素やインデックスを検索するメソッド群。find, findIndex, findLast, findLastIndex を提供。

Widely 配列

Array findLast() and findLastIndex()

配列の末尾から条件に合う要素を検索するメソッド。findLast と findLastIndex を提供。

Widely 配列

Array flat() and flatMap()

ネストされた配列を指定した深さまで平坦化するメソッド。flatMap でマッピングと平坦化を同時に行える。

Widely 配列

Array includes()

配列に特定の要素が含まれるかを判定するメソッド。indexOf !== -1 より可読性が高い。

Widely 配列

Array iteration methods

配列の反復処理メソッド群。map, filter, reduce, forEach, some, every などを提供。

Widely 配列

Array iterators

配列のイテレータメソッド。keys(), values(), entries() でインデックスや値を反復処理できる。

Widely 配列

Array splice()

配列の要素を削除・置換・追加する破壊的メソッド。削除された要素の配列を返す。

Widely 配列

Array.from()

配列風オブジェクトやイテラブルから新しい配列を生成する静的メソッド。

Widely 配列

Array.isArray()

値が配列であるかを判定する静的メソッド。typeof や instanceof より信頼性が高い。

Widely 配列

Array.of()

引数から新しい配列を生成する静的メソッド。new Array() の数値引数の曖昧さを解消。

Widely 配列

Stable array sort

Array.sort() の安定ソートが保証された仕様。同じ値の要素の相対順序が維持される。

Widely 非同期処理

Promise (initial support)

非同期処理の結果を表現するオブジェクト。コールバック地獄を回避し、直感的な非同期制御を可能にする。

Widely 非同期処理

Promise finally()

Promise の成否にかかわらず実行されるコールバックを登録する。リソースのクリーンアップに使用。

Widely 非同期処理

Promise.allSettled()

すべての Promise が確定(fulfilled または rejected)するまで待つメソッド。部分的な成功を許容する場合に有効。

Widely 非同期処理

Promise.any()

複数の Promise のうち最初に成功したものの結果を返す。すべて失敗した場合のみ AggregateError をスローする。

Widely 文字列

String at()

文字列の末尾から文字にアクセスできるメソッド。Array.at() と同様に負のインデックスに対応。

Widely 文字列

String codePointAt() and fromCodePoint()

Unicode コードポイントを扱うメソッド。サロゲートペアを正しく処理できる。

Widely 文字列

String includes()

文字列に特定の部分文字列が含まれるかを判定するメソッド。startsWith, endsWith も同時に追加された。

Widely 文字列

String matchAll()

正規表現のすべてのマッチ結果をイテレータで返す。キャプチャグループも含む完全なマッチ情報を取得可能。

Widely 文字列

String normalize()

Unicode 正規化を行うメソッド。同じ文字の異なるエンコーディングを統一できる。

Widely 文字列

String padStart() and padEnd()

文字列を指定した長さまでパディングするメソッド。padStart と padEnd を提供。

Widely 文字列

String raw()

エスケープシーケンスを処理しない生の文字列を返すタグ関数。正規表現や Windows パスに便利。

Widely 文字列

String repeat()

文字列を指定回数繰り返した新しい文字列を返すメソッド。

Widely 文字列

String replaceAll()

文字列内のすべての一致箇所を置換するメソッド。正規表現なしで全置換が可能。

Widely 文字列

String startsWith() and endsWith()

文字列が指定した部分文字列で始まるか・終わるかを判定するメソッド。

Widely 文字列

String trimStart() and trimEnd()

文字列の先頭または末尾の空白を除去するメソッド。trimStart と trimEnd を提供。

条件付きでOK

Newly available
Newly JSON

JSON import attributes

JSON ファイルを JavaScript モジュールとしてインポートする機能。with { type: 'json' } 構文を使用。

Newly JSON

JSON source text access

JSON パース時に元のソーステキストにアクセスする機能。精度を失わない数値処理が可能。

Newly Map・Set

Array grouping

配列の要素をコールバック関数の戻り値でグルーピングする。Object.groupBy と Map.groupBy を提供。

Newly Map・Set

Map getOrInsert()

Map にキーが存在すれば値を返し、なければデフォルト値を挿入して返すメソッド。

Newly Map・Set

Set methods

Set に集合演算メソッドを追加。union, intersection, difference, symmetricDifference 等を提供。

Newly イテレータ

Iterator methods

イテレータに map・filter・take・drop 等のメソッドを追加。配列に変換せずに遅延評価でデータを処理可能。

Newly イテレータ

Iterator.concat()

複数のイテレータを連結する静的メソッド。異なるソースのイテレータを一つにまとめて処理可能。

Newly モジュール

JavaScript modules in service workers

Service Worker 内で ES Modules の import/export を使用可能にする機能。

Newly 型付き配列

Float16Array

16ビット半精度浮動小数点数の型付き配列。機械学習やGPUデータ処理に使用。

Newly 型付き配列

Uint8Array base64 and hex conversion

Uint8Array と Base64/Hex 文字列の相互変換メソッド。fromBase64, toBase64, fromHex, toHex を提供。

Newly 言語コア

Atomics.pause()

ビジーウェイトループのパフォーマンスを改善するヒント命令。スピンロック実装で使用。

Newly 言語コア

Atomics.waitAsync()

メインスレッドをブロックせずに共有メモリの変更を待機する非同期メソッド。

Newly 言語コア

Resizable buffers

サイズ変更可能な ArrayBuffer と SharedArrayBuffer。maxByteLength を指定して動的にリサイズ可能。

Newly 言語コア

Transferable ArrayBuffer

ArrayBuffer の所有権を移転する仕組み。transfer() でゼロコピーのデータ受け渡しを実現。

Newly 国際化(Intl)

Intl.DurationFormat

時間の長さ(Duration)をロケールに応じてフォーマットする API。

Newly 国際化(Intl)

Intl.Segmenter

テキストをロケールに応じた規則で分割する API。文・単語・書記素の分割に対応。

Newly 正規表現

RegExp.escape()

文字列内の正規表現特殊文字をエスケープする静的メソッド。ユーザー入力を安全に正規表現に組み込める。

Newly 配列

Array.fromAsync()

非同期イテラブルから配列を生成する静的メソッド。async generator との組み合わせに便利。

Newly 非同期処理

Promise.try()

同期・非同期関数を統一的に Promise でラップするメソッド。エラーハンドリングを一元化。

Newly 非同期処理

Promise.withResolvers()

Promise と resolve/reject を同時に取得するメソッド。Promise の外部からの解決が容易に。

Newly 文字列

String isWellFormed() and toWellFormed()

文字列が正しい Unicode 形式かを判定・変換するメソッド。孤立サロゲートを検出・修正できる。

要注意(サポート限定的)

Limited support
Limited エラー処理

Serializable errors

Error オブジェクトの構造化クローン対応。postMessage でエラーを直接転送可能。

Limited モジュール

CSS import attributes

CSS ファイルを JavaScript モジュールとしてインポートする機能。with { type: 'css' } 構文を使用。

Limited モジュール

Import assertions

import 文でモジュールの型を明示する構文。JSON や CSS モジュールのインポートに使用。

Limited リソース管理

Explicit resource management

using 宣言によるリソースの自動クリーンアップ。ファイルハンドルやDB接続の安全な解放に使用。

Limited 言語コア

__proto__

__proto__ プロパティ(非推奨)。オブジェクトのプロトタイプチェーンにアクセスするレガシーな方法。

Limited 言語コア

Accessor methods

オブジェクトのアクセサメソッド(getter/setter)。プロパティアクセス時にカスタムロジックを実行可能。

Limited 言語コア

arguments.callee

実行中の関数自身への参照(非推奨)。strict モードでは使用不可。名前付き関数式を代替に使用。

Limited 言語コア

Error.isError()

値が Error インスタンスかを判定する静的メソッド。instanceof より信頼性が高い。

Limited 言語コア

escape() and unescape()

escape() と unescape()(非推奨)。文字列のエンコード・デコード。encodeURIComponent を代替に使用。

Limited 言語コア

Function caller and arguments

Function.caller と Function.arguments(非推奨)。呼び出し元の関数や引数にアクセスするレガシー機能。

Limited 言語コア

getYear() and setYear()

getYear() と setYear()(非推奨)。2桁の年を扱うレガシーメソッド。getFullYear() を代替に使用。

Limited 言語コア

HTML wrapper methods

String の HTML ラッパーメソッド(非推奨)。bold(), link() 等で HTML 要素を生成するレガシー機能。

Limited 言語コア

Math.sumPrecise()

複数の数値の精密な合計を計算する静的メソッド。浮動小数点の丸め誤差を軽減。

Limited 言語コア

Temporal

日時を扱う新しい標準 API。Date の問題を解決し、タイムゾーンやカレンダーを正確に扱える。

Limited 言語コア

toGMTString()

toGMTString()(非推奨)。日付をGMT文字列に変換するレガシーメソッド。toUTCString() を代替に使用。

Limited 言語コア

Top-level await

モジュールのトップレベルで await を使用可能にする構文。初期化処理の非同期化に便利。

Limited 言語コア

with

with 文(非推奨)。オブジェクトのプロパティをスコープに展開する。strict モードでは使用不可。

Limited 国際化(Intl)

Intl.Locale info

ロケールの追加情報(週の最初の曜日、時間制)を取得する API。

Limited 正規表現

RegExp compile()

正規表現オブジェクトを再コンパイルする非推奨メソッド。新しいコードでは使用しない。

Limited 正規表現

RegExp static properties

RegExp の静的プロパティ($1〜$9 等)。最後にマッチした結果にアクセスする非推奨機能。