TC39 Temporalのドキュメントを一部翻訳しました

2021/07/27

TC39のロゴ

sititou70です.少し未来のJavaScriptを紹介します!

Temporalは,TC39で提案されている次世代の日付APIです.現状のDateにおける欠点を克服するために,仕様を目下策定中です.

tc39_studyというイベントで,TemporalについてのLTをしました.また,そのLTを行うにあたって,勉強のためにTemporalのドキュメントを翻訳していたのですが,そちらが公式リポジトリマージされました 🎉

1分でわかるTemporal

tc39_studyは,TC39の各プロポーザルを わずか30〜90秒でLTし続ける というヤバいイベントです.以下が私のLTのアーカイブです.(カミカミですが許してください)

なお,このイベントの終盤は30秒LTゾーンという魔境となっており,面白いのでおすすめです.当日のTwitterも,「早口オタク」「情報の嵐」「処理が追いつかない」「EcmaScript百人組手」などと阿鼻叫喚でした.

ドキュメントを翻訳しました

上記のLTにあたって,Temporalを理解するために「公式ドキュメントを翻訳しながらじっくり読む」というのをやっていました.これらを更にブラッシュアップしたものを提出した結果,公式の日本語訳として取り込んでもらえました.

TemporalのREADMEを見ると,英語の他に日本語ドキュメントへのリンクができています.

Temporaのドキュメント

今回翻訳したドキュメントは,Temporalのキーコンセプトに関する以下の5ページのみです.

この他にも,Temporalのドキュメントには,APIのサンプルコード集であるCookbookや,各種メソッドを詳しく説明するAPIリファレンス(例:Temporal.Nowなど)があります.

Temporalはあくまでプロポーザルであり,APIの仕様は変更される可能性が高いため,今回はキーコンセプトに関する文書のみを翻訳しました.また,コンセプトさえわかっていれば,その他のリファレンスを読む際もそこまで苦労しないだろうという目論見があります.

上記の翻訳は,自分自身で何度か読み返してチェックしているのですが,それでもなお,typoや訳のミスがあると思います.それらを発見された際には,是非TemporalのリポジトリにPRを投げてください.(そして,PRのどこかで@sititou70にメンションをいただけると,私もレビューに参加できます)

まとめ

Temporalは現在stage3であり,フィードバックを募集しています.そして細かいミスが修正され,ブラウザ等に順調に実装されていけば…いずれ正式な仕様となるかもしれません.

私は別に,Temporalがすべてのケースにおいて最適であるとは思っていません.しかし,ビルトインのAPIのみで厳格に日付を処理できるというのは,大きな強みだと感じました.

「既存の日付ライブラリとの棲み分けはどうするのか」,「既存コードをTemporalに移植するべきか」,「パフォーマンスはどうなのか」など,これから考えなければならないことは山積みです.しかし,ともかく選択肢が増えるのは楽しみです.

Temporalの今後の活躍に乞うご期待!

謝辞

Yosuke Furukawa(@yosuke_furukawa)さんには,上記のイベントを紹介していただき,また個人用に作っていた翻訳版を公開するように助言もいただきました.ありがとうございました.

Daniel Ehrenberg(@littledan)さんには,翻訳物をどのように公開するかの議論を進めていただきました.当初は,この日本語版を個人のリポジトリで公開する予定でした.しかし,@littledanさんがTemporalのチャンピオンの方々に掛け合って議論と調整を進めていただいたおかげで,無事に公式リポジトリへ取り込まれました. Thank you for taking the time to discuss this translation

あわせて読みたい

続けて読む…

ECMA-262を読んだ日

2022/06/10

春のLT大会まとめ

2019/05/18

TypeScriptの型で素数を求めたい

2021/01/19

SICPの感想文

2023/07/29

「クロージャは関数と環境のペア」とは?(JavaScript)

2023/12/02

Dockerで簡単TeX環境構築

2020/01/07

書いた人

sititou70のアイコン画像
sititou70

都内の社会人エンジニア3年生。Web技術、3DCG、映像制作が好き。