何を追えばいいのか(ゴールのイメージ)
まず、「ES 仕様の更新を追う」と聞くと、
- 毎年の ECMAScript 版(ES2020, ES2021…)
- その中に入る新機能(
Optional chaining,Nullish coalescing,BigIntなど) - その機能が「どのブラウザ/Node で使えるか」
この 3 つを把握できれば充分です。
ここが重要です。
仕様そのもの(ECMA の PDF を全部読む)ではなく、
「どんな新機能が、いつ、どの環境で使えるようになったか」を追う
これを目的にすると、現実的で続けやすくなります。
TC39 と ECMAScript の「決まり方」をざっくり理解する
仕様は TC39 というチームが決めている
JavaScript の言語仕様(ECMAScript)は、
TC39 という委員会(ブラウザベンダーや各社の代表)が決めています。
ざっくり流れはこうです。
- 誰かが「新機能提案」を出す(proposal)
- 会議を何度も通して、Stage 0 → 1 → 2 → 3 → 4 と進んでいく
- Stage 4 になったものが、次の ECMAScript 仕様に正式採用される
初心者的には:
- Stage 3:ほぼ固まっている(実装も進みがち)
- Stage 4:仕様に入ることが確定
くらいのざっくり理解で十分です。
なぜこの流れを知っておくべきか
新しい文法は、いきなり「ある日突然」出てくるわけではありません。
ほとんどが「提案 → Stage が上がる → ブラウザに実装 → 仕様に採用」という道を通ります。
ここが重要です。
「新機能の名前」だけでなく、「今その機能が提案のどの段階にいるのか」を見れるようになると、情報の整理が一気に楽になる ということです。
公式情報を追う:TC39 提案と仕様の見方
TC39 の提案リポジトリを見る(慣れてきたらでOK)
GitHub には、TC39 の提案一覧があります(tc39/proposals)。
そこに、ステージ別に提案が並んでいます。
初心者的な使い方としては、
「Stage 3 と Stage 4 の一覧だけ眺める」がちょうどいいラインです。
そこを見ると、
Array.prototype.atTop-level awaitTemporal(提案中の日付 API)
などが、「今どのステージか」を見ることができます。
最初から英語の仕様を読み込まなくて大丈夫です。
「新しい機能の名前」と「ステージ」だけ把握しておく
これだけで、自分の頭の中の「今どこまで話が進んでいるか」が整理できます。
ECMAScript の仕様本体(ecma262)は「辞書」として使う
ECMAScript の仕様書(ECMA-262)は、
「言語の聖書」です。
が、初心者が最初からこれを読むのはしんどいです。
読み方としては:
- 新機能の概要はブログ・解説記事・MDN で掴む
- 細かい挙動で迷ったときだけ、仕様をピンポイントで辞書的に見る
くらいの距離感がおすすめです。
ここが重要です。
仕様書は最初から通読するものではなく、「分からないときに最後にあてにする辞書」くらいに位置づけるとちょうどいい です。
実務で使える更新追跡ルート(初心者向けおすすめ)
1. MDN(Mozilla Developer Network)で新機能を確認する
新しい言語機能を知るときの入り口として、MDN はかなり優秀です。
使い方の例:
- 新しく見た文法やクラス(
Promise.any,Array.at,WeakRef,Intl.*など)を MDN で検索 - ページの下の方にある「ブラウザー互換性(Compatibility)」で、どのブラウザで使えるか確認
これだけで、
- それは ES のどのバージョンで入った機能か
- 実際にブラウザや Node で今使えるのか
がかなりの精度で分かります。
2. 年次の「ES20xx 新機能まとめ」記事を 1 本読む
毎年、ES2020, ES2021 のように「その年の仕様に入った新機能」をまとめてくれる記事やスライドがあります。
例えば:
- 「ES2020 の新機能まとめ」
- 「ES2021 で追加された 5 つの主な機能」
- 「ES2022 で知っておくべきポイント」
こういう記事を年に 1 回だけざっと読むだけでも、
「何が追加されてきたか」の大枠を掴めます。
全部を完璧に覚える必要はありません。
「へぇ、こういうのが増えたのか」と知っておくだけでも、
あとで見かけたときに理解が早くなります。
3. Node.js やブラウザのリリースノートを見る
実際に「いつから使えるのか」は、ランタイム側の話です。
Node.js や主要ブラウザ(Chrome, Firefox, Safari)のリリースノートでは、
「このバージョンで ECMAScript の〇〇をサポートしました」と書かれることが多いです。
初心者向けの運用としては:
- 自分が使っている Node の LTS のリリースノートをたまにチラ見
- 「V8 のアップデートで新しい ES 機能が入った」というニュースを見かけたら、気になるものだけメモ
くらいで十分です。
実際の「情報の拾い方」をシミュレーションする
シナリオ1:Optional chaining を使いたくなった
あなたがコードレビューで foo?.bar を見かけて、
「これ何?」となったとします。
追い方の一例はこうです。
optional chaining mdnで検索 → MDN の解説を読む- ページに「ECMAScript 2020 で追加」と書いてあるのを確認
- 下の「ブラウザー互換性」で、主要ブラウザと Node の対応状況を見る
- 実務で使っている環境が対応済みかを確認(古い IE 等が対象なら Babel 必須)
ここまでやれば、
- 「ES2020 の機能」
- 「今のプロジェクトで素で使ってよさそうか/トランスパイル前提か」
が判断できます。
シナリオ2:ニュースで「新しい日付 API Temporal が来る」と見た
- 「tc39 temporal proposal」などで検索 → GitHub の提案を見つける
- README や説明をざっと読む(全部読まなくていい)
- ステージを確認(Stage 3 なら「もうかなり固まってきている」)
- その後、ブログや MDN-like な記事を待つ
この時点では、「将来こういう大物が来るんだな」と頭の片隅に置いておくだけで十分です。
ここが重要です。
新機能は「仕様に入る → 実装される → 解説記事が出る → 実務で一般的になる」というタイムラインで進むので、あせって最初から仕様だけを追わなくていい です。
バベル(Babel)や TypeScript との関係も少しだけ
Babel が「先に使えるようにしてくれる」ことが多い
Babel や TypeScript は、新しい ES の文法を古い環境でも動くように変換してくれます。
- 仕様:まだ Stage 3 だけど
- Babel:もうサポートしていて、トランスパイルしてくれる
というケースはよくあります。
この場合の追い方は:
- まず TC39 のステージで「どのくらい固まっているか」
- そのあと Babel や TypeScript のリリースノートで「サポート状況」をチェック
という流れになります。
初心者の段階では、
「Babel がサポートしている=古いブラウザでも使えるようにできる可能性がある」
くらいの理解で OK です。
「追いすぎて燃え尽きない」ためのコツ
すべての提案を追おうとしない
TC39 の提案一覧は、とにかく数が多いです。
全部を追うのはプロでも厳しいレベルです。
なので、方針としてはこうするのがおすすめです。
- Stage 3 / 4 だけを見る
- かつ、自分の仕事に関わりそうな分野だけ注目する
(例:フロントエンドメインなら DOM 連携しやすい構文 / 非同期 / Intl あたり)
たとえば、
- 配列操作系が好きなら「新しい Array メソッド」
- 非同期をよく書くなら「Promise/async まわりの提案」
のように、関心領域を少しだけ絞ると続きやすいです。
「年に 1 回しっかりキャッチアップ+ときどきニュース」というリズム
現実的には、次のくらいで十分戦えます。
- 年に 1 回、「ES20xx 新機能まとめ」記事を読んでざっくり全体像を把握
- 日常的には、
- コードレビューや他人のコードで「見慣れない構文」が出てきたら、そのつどピンポイントで調べる
- 大きめのニュース(
Temporal,pattern matchingなど)を見かけたときだけ、「へぇ」と軽く目を通す
ここが重要です。
“追うこと”が目的になるとしんどいので、「自分のコードの質や表現力を上げるために、必要な範囲を楽に追う」くらいのスタンスがちょうどいい です。
まとめ
「ES 仕様の更新を追う」と聞くと難しそうに見えますが、
実務的に役に立つレベルに絞ると、やることはかなりシンプルです。
押さえておきたいポイントは次のとおりです。
- 仕様は TC39 で決まり、提案は Stage 0〜4 を進んでいく
- 新機能を見かけたら、まずは MDN などで概要とブラウザ対応状況を確認する
- 「ES20xx の新機能まとめ」を年に 1 回読むだけでも、大枠は十分追える
- 実際に「いつから使えるか」はブラウザ/Node/Babel/TypeScript のリリースノートで確認する
- 提案一覧を全部追おうとせず、Stage 3 / 4 と、自分の関心に近い分野だけを見る
最初は、今まであなたが学んだ
- Optional chaining
- Nullish coalescing
- 新しいコレクション(Map/Set/WeakMap/WeakSet)
- Promise / async / Iterator / Generator / Proxy / Intl…
が「どの ES バージョンで入ったのか」を、軽く調べてみるのもいい練習です。
「この機能は ES20xx のときに入ったのか」と時間軸が見えてくると、
仕様の更新も「ただの歴史の一コマ」に見えて、ずっと怖くなくなります。

