JavaScriptに日付と時刻を扱う新しい方法が加わろうとしており、それに伴うMDNの文書整備は異例の規模となっている。抜粋によると、長年開発者を悩ませてきた言語機能を現代化するための新しい組み込みAPI「Temporal」が、実験版ブラウザーに搭載され始めている。

Temporalが必要とされる理由は明快だ。JavaScriptの既存のDateオブジェクトには、何年も残されてきた既知の欠点がある。報告によると、Dateが対応するのはローカル時刻とUTCのみで、タイムゾーンへの対応がなく、解析動作の信頼性に欠け、しかも可変である。こうした弱点は見た目だけの問題ではない。スケジュール管理、国際化、そして時刻が単なる表示上の細部ではないあらゆるアプリケーションでバグを引き起こす。

Temporalは小規模な拡張ではなく、代替機能として提示されている。タイムゾーン、暦、変換、比較、計算、書式設定への対応が追加され、MDNの文書群は現在270ページを超える。この規模は、このAPIが、単にタイムスタンプの書式設定方法を変えるだけでなく、開発者が時間そのものをどう考えるかを変えるほど広範であることを示唆している。

導入時期は重要だ。抜粋は、安定したクロスブラウザー対応の実現にはなお時間がかかり、実装は開発の進展に伴って変更される可能性があると慎重に述べている。言い換えれば、開発者はAPIを学び、計画を始めることはできるが、実験的に利用可能になったことを本番環境で使える状態と混同すべきではない。新しい文書は今後登場するものへの手引きであって、移行が完了したとの主張ではない。

情報源はまた、組み込み機能だけでは不十分なため、現在ほとんどの開発者がMoment.jsやdate-fnsなどのライブラリーに依存していることを読者に改めて伝えている。Temporalは、JavaScriptにより信頼できる基盤を提供することで、そうした依存の必要性を減らすことを目指している。成功すれば、DST移行、暦の境界的な事例、一貫性のない解析に起因する一連の日付処理バグを減らせる可能性がある。

今のところ、これは基盤が現代ソフトウェアの現実に追い付こうとしているという話だ。1990年代型の日付APIを今なお抱える言語が、ついに時間を扱うためのより明快なモデルを得ようとしており、文書整備の取り組みは、プラットフォームが緩やかだが重要な移行に向けて開発者を準備していることを示している。 Temporalの登場が重要なのは、日付処理が、バグを発生させた後になって初めて開発者が気付くことの多い問題の一つだからでもある。より優れた組み込みモデルによって、コードベース各所に散在する場当たり的な補助機能や壊れやすい日付計算の必要性を減らせる可能性がある。

MDNによる文書整備の規模は、エコシステムが長期的な移行に向けて準備されつつあることを示している。これほど広範なAPIの場合、導入は段階的に進む傾向があり、各チームはシステムの一部で試した後、従来の日付処理をより広範に置き換えていく。抜粋は、Temporalをそうした将来の移行を支える基盤として位置付けている。