JavaScript
Baseline 対応「このJavaScript機能は今、使っていいか?」を一瞬で判断できる実務特化リファレンス。
- Widely available80機能
- Newly available21機能
- Limited support20機能
安心して使える
Widely availableJSON
JavaScript オブジェクトとJSON文字列の相互変換を行う。stringify と parse が基本メソッド。
Map (initial support)
キーと値のペアを格納するコレクション。Object と異なり、任意の型をキーに使用可能。
Set (initial support)
一意な値のコレクション。重複を自動的に排除し、存在確認が高速。
WeakMap
キーがオブジェクトのみで、ガベージコレクションを妨げない Map。プライベートデータの格納に使用。
WeakSet
オブジェクトのみを格納でき、ガベージコレクションを妨げない Set。既処理オブジェクトの追跡に使用。
Async iterators and the for await..of loop
非同期イテレータと for await...of ループ。非同期データソースの逐次処理に使用。
Iterators and the for...of loop
イテレータと for...of ループ。配列・Map・Set 等の反復可能オブジェクトを統一的に処理する仕組み。
Typed array iterators
型付き配列のイテレータ。keys(), values(), entries() で TypedArray を反復処理可能。
Date
日時を扱うオブジェクト。作成、フォーマット、計算などの日時操作を提供。
Math and numbers
数値と数学関数。Number のメソッドと Math オブジェクトの演算機能を提供。
String (initial support)
文字列の基本機能。連結、検索、分割などの文字列操作メソッドを提供する。
Symbol
一意で不変のプリミティブ値。プロパティキーの衝突回避やオブジェクトの内部動作のカスタマイズに使用。
JavaScript modules
import/export でコードをモジュール単位に分割する仕組み。依存関係の明示とツリーシェイキングを実現。
JavaScript modules in workers
Web Worker 内で ES Modules の import/export を使用可能にする機能。
Typed array iteration methods
型付き配列の反復メソッド。map, filter, find 等を TypedArray で使用可能。
Typed arrays (initial support)
バイナリデータを効率的に扱う型付き配列。Int8Array, Float32Array 等の固定型配列を提供。
Async functions
Promise ベースの非同期処理を同期的な書き方で記述できる構文。コードの可読性を大幅に向上させる。
Async generators
非同期イテレータを生成する関数。async function* で宣言し、await と yield を組み合わせ可能。
BigInt
任意精度の整数型。Number の安全な整数範囲を超える大きな数値を正確に扱える。
BigInt64Array
64ビット符号付き整数の型付き配列。BigInt 値を格納する TypedArray。
Classes
class 構文でオブジェクト指向プログラミングを行う。コンストラクタ、継承、メソッド定義を簡潔に記述可能。
Destructuring
配列やオブジェクトの値を個別の変数に展開する構文。関数の引数やインポートでも使用可能。
Error cause
エラーの原因を cause プロパティで連鎖的に記録する仕組み。エラーのコンテキストを保持可能。
Exponentiation operator
べき乗演算子 (**)。Math.pow() の代替として簡潔にべき乗を記述可能。
Functions
関数の基本機能。宣言、式、デフォルト引数、レスト引数などを提供。
Generators
イテレータを生成する特殊な関数。yield で値を逐次返し、遅延評価を実現する。
globalThis
環境に依存しないグローバルオブジェクトへの参照。ブラウザ(window)、Node.js(global)を統一。
Hashbang comments
スクリプトファイルの先頭に #! でインタープリタを指定するコメント構文。
JavaScript (initial core language support)
JavaScript の初期コア言語機能。変数宣言、制御構文、基本演算子など言語の基盤。
Let and const
ブロックスコープの変数宣言。let は再代入可能、const は再代入不可。var の問題を解消。
Logical assignments
論理代入演算子。||=, &&=, ??= でデフォルト値の設定や条件付き代入を簡潔に記述。
Nullish coalescing
null/undefined のみをチェックする演算子 (??)。|| と異なり 0 や空文字を有効値として扱う。
Numeric separators
数値リテラルにアンダースコア区切りを使える構文。大きな数値の可読性を向上させる。
Object
Object の基本機能。assign, create, freeze, keys 等のオブジェクト操作メソッドを提供。
Object.hasOwn()
オブジェクトが指定プロパティを直接持つかを判定する静的メソッド。hasOwnProperty の安全な代替。
Optional catch binding
catch 句のエラー引数を省略できる構文。エラーオブジェクトが不要な場合に簡潔に記述可能。
Proxy and Reflect
オブジェクトの操作をインターセプトする Proxy と、オブジェクト操作の標準メソッドを提供する Reflect。
SharedArrayBuffer and Atomics
スレッド間で共有可能なメモリと不可分操作。SharedArrayBuffer と Atomics を提供。
Spread syntax
配列やオブジェクトを展開する構文。コピー、マージ、関数引数の展開に使用。
Template literals
バッククォートで囲んだ文字列リテラル。式の埋め込みや複数行の記述が可能。
Unicode point escapes
\u{} 構文で任意の Unicode コードポイントを文字列に埋め込める。サロゲートペア不要。
Weak references
オブジェクトへの弱い参照を保持する WeakRef と、クリーンアップコールバックの FinalizationRegistry。
Intl
国際化APIの基盤。日付・数値・文字列の地域対応フォーマット機能を提供。
Intl.DisplayNames
言語名・地域名・通貨名などの翻訳済み表示名を取得する API。
Intl.ListFormat
リスト(配列)をロケールに応じた形式でフォーマットする API。「A、B、C」や「A and B」のような表現を生成。
Intl.Locale
ロケール情報を扱うオブジェクト。言語、地域、スクリプトなどの情報にアクセス可能。
Intl.PluralRules
複数形のルールをロケールに応じて判定する API。「1 item」vs「2 items」のような表現に使用。
Intl.RelativeTimeFormat
相対的な時間表現(「3日前」「2時間後」)をロケールに応じてフォーマットする API。
Regular expressions
パターンマッチングと文字列検索・置換を行うオブジェクト。名前付きキャプチャや後読みなどの機能を提供。
Array (initial support)
順序付きデータを格納するオブジェクト。多数の反復・変換メソッドを備える JavaScript の基本データ構造。
Array at()
配列の末尾から要素にアクセスできるメソッド。負のインデックスで末尾からの取得が可能。
Array by copy
元の配列を変更せずにソート・反転・挿入を行うメソッド群。toSorted, toReversed, with, toSpliced を提供。
Array copyWithin()
配列内で要素をコピーして別の位置に配置するメソッド。配列の長さは変わらない。
Array fill()
配列の指定範囲を固定値で埋めるメソッド。初期化やリセットに便利。
Array find() and findIndex()
配列から条件に合う要素やインデックスを検索するメソッド群。find, findIndex, findLast, findLastIndex を提供。
Array findLast() and findLastIndex()
配列の末尾から条件に合う要素を検索するメソッド。findLast と findLastIndex を提供。
Array flat() and flatMap()
ネストされた配列を指定した深さまで平坦化するメソッド。flatMap でマッピングと平坦化を同時に行える。
Array includes()
配列に特定の要素が含まれるかを判定するメソッド。indexOf !== -1 より可読性が高い。
Array iteration methods
配列の反復処理メソッド群。map, filter, reduce, forEach, some, every などを提供。
Array iterators
配列のイテレータメソッド。keys(), values(), entries() でインデックスや値を反復処理できる。
Array splice()
配列の要素を削除・置換・追加する破壊的メソッド。削除された要素の配列を返す。
Array.from()
配列風オブジェクトやイテラブルから新しい配列を生成する静的メソッド。
Array.isArray()
値が配列であるかを判定する静的メソッド。typeof や instanceof より信頼性が高い。
Array.of()
引数から新しい配列を生成する静的メソッド。new Array() の数値引数の曖昧さを解消。
Stable array sort
Array.sort() の安定ソートが保証された仕様。同じ値の要素の相対順序が維持される。
Promise (initial support)
非同期処理の結果を表現するオブジェクト。コールバック地獄を回避し、直感的な非同期制御を可能にする。
Promise finally()
Promise の成否にかかわらず実行されるコールバックを登録する。リソースのクリーンアップに使用。
Promise.allSettled()
すべての Promise が確定(fulfilled または rejected)するまで待つメソッド。部分的な成功を許容する場合に有効。
Promise.any()
複数の Promise のうち最初に成功したものの結果を返す。すべて失敗した場合のみ AggregateError をスローする。
String at()
文字列の末尾から文字にアクセスできるメソッド。Array.at() と同様に負のインデックスに対応。
String codePointAt() and fromCodePoint()
Unicode コードポイントを扱うメソッド。サロゲートペアを正しく処理できる。
String includes()
文字列に特定の部分文字列が含まれるかを判定するメソッド。startsWith, endsWith も同時に追加された。
String matchAll()
正規表現のすべてのマッチ結果をイテレータで返す。キャプチャグループも含む完全なマッチ情報を取得可能。
String normalize()
Unicode 正規化を行うメソッド。同じ文字の異なるエンコーディングを統一できる。
String padStart() and padEnd()
文字列を指定した長さまでパディングするメソッド。padStart と padEnd を提供。
String raw()
エスケープシーケンスを処理しない生の文字列を返すタグ関数。正規表現や Windows パスに便利。
String repeat()
文字列を指定回数繰り返した新しい文字列を返すメソッド。
String replaceAll()
文字列内のすべての一致箇所を置換するメソッド。正規表現なしで全置換が可能。
String startsWith() and endsWith()
文字列が指定した部分文字列で始まるか・終わるかを判定するメソッド。
String trimStart() and trimEnd()
文字列の先頭または末尾の空白を除去するメソッド。trimStart と trimEnd を提供。
条件付きでOK
Newly availableJSON import attributes
JSON ファイルを JavaScript モジュールとしてインポートする機能。with { type: 'json' } 構文を使用。
JSON source text access
JSON パース時に元のソーステキストにアクセスする機能。精度を失わない数値処理が可能。
Array grouping
配列の要素をコールバック関数の戻り値でグルーピングする。Object.groupBy と Map.groupBy を提供。
Map getOrInsert()
Map にキーが存在すれば値を返し、なければデフォルト値を挿入して返すメソッド。
Set methods
Set に集合演算メソッドを追加。union, intersection, difference, symmetricDifference 等を提供。
Iterator methods
イテレータに map・filter・take・drop 等のメソッドを追加。配列に変換せずに遅延評価でデータを処理可能。
Iterator.concat()
複数のイテレータを連結する静的メソッド。異なるソースのイテレータを一つにまとめて処理可能。
JavaScript modules in service workers
Service Worker 内で ES Modules の import/export を使用可能にする機能。
Float16Array
16ビット半精度浮動小数点数の型付き配列。機械学習やGPUデータ処理に使用。
Uint8Array base64 and hex conversion
Uint8Array と Base64/Hex 文字列の相互変換メソッド。fromBase64, toBase64, fromHex, toHex を提供。
Atomics.pause()
ビジーウェイトループのパフォーマンスを改善するヒント命令。スピンロック実装で使用。
Atomics.waitAsync()
メインスレッドをブロックせずに共有メモリの変更を待機する非同期メソッド。
Resizable buffers
サイズ変更可能な ArrayBuffer と SharedArrayBuffer。maxByteLength を指定して動的にリサイズ可能。
Transferable ArrayBuffer
ArrayBuffer の所有権を移転する仕組み。transfer() でゼロコピーのデータ受け渡しを実現。
Intl.DurationFormat
時間の長さ(Duration)をロケールに応じてフォーマットする API。
Intl.Segmenter
テキストをロケールに応じた規則で分割する API。文・単語・書記素の分割に対応。
RegExp.escape()
文字列内の正規表現特殊文字をエスケープする静的メソッド。ユーザー入力を安全に正規表現に組み込める。
Array.fromAsync()
非同期イテラブルから配列を生成する静的メソッド。async generator との組み合わせに便利。
Promise.try()
同期・非同期関数を統一的に Promise でラップするメソッド。エラーハンドリングを一元化。
Promise.withResolvers()
Promise と resolve/reject を同時に取得するメソッド。Promise の外部からの解決が容易に。
String isWellFormed() and toWellFormed()
文字列が正しい Unicode 形式かを判定・変換するメソッド。孤立サロゲートを検出・修正できる。
要注意(サポート限定的)
Limited supportSerializable errors
Error オブジェクトの構造化クローン対応。postMessage でエラーを直接転送可能。
CSS import attributes
CSS ファイルを JavaScript モジュールとしてインポートする機能。with { type: 'css' } 構文を使用。
Import assertions
import 文でモジュールの型を明示する構文。JSON や CSS モジュールのインポートに使用。
Explicit resource management
using 宣言によるリソースの自動クリーンアップ。ファイルハンドルやDB接続の安全な解放に使用。
__proto__
__proto__ プロパティ(非推奨)。オブジェクトのプロトタイプチェーンにアクセスするレガシーな方法。
Accessor methods
オブジェクトのアクセサメソッド(getter/setter)。プロパティアクセス時にカスタムロジックを実行可能。
arguments.callee
実行中の関数自身への参照(非推奨)。strict モードでは使用不可。名前付き関数式を代替に使用。
Error.isError()
値が Error インスタンスかを判定する静的メソッド。instanceof より信頼性が高い。
escape() and unescape()
escape() と unescape()(非推奨)。文字列のエンコード・デコード。encodeURIComponent を代替に使用。
Function caller and arguments
Function.caller と Function.arguments(非推奨)。呼び出し元の関数や引数にアクセスするレガシー機能。
getYear() and setYear()
getYear() と setYear()(非推奨)。2桁の年を扱うレガシーメソッド。getFullYear() を代替に使用。
HTML wrapper methods
String の HTML ラッパーメソッド(非推奨)。bold(), link() 等で HTML 要素を生成するレガシー機能。
Math.sumPrecise()
複数の数値の精密な合計を計算する静的メソッド。浮動小数点の丸め誤差を軽減。
Temporal
日時を扱う新しい標準 API。Date の問題を解決し、タイムゾーンやカレンダーを正確に扱える。
toGMTString()
toGMTString()(非推奨)。日付をGMT文字列に変換するレガシーメソッド。toUTCString() を代替に使用。
Top-level await
モジュールのトップレベルで await を使用可能にする構文。初期化処理の非同期化に便利。
with
with 文(非推奨)。オブジェクトのプロパティをスコープに展開する。strict モードでは使用不可。
Intl.Locale info
ロケールの追加情報(週の最初の曜日、時間制)を取得する API。
RegExp compile()
正規表現オブジェクトを再コンパイルする非推奨メソッド。新しいコードでは使用しない。
RegExp static properties
RegExp の静的プロパティ($1〜$9 等)。最後にマッチした結果にアクセスする非推奨機能。