メインコンテンツまでスキップ

「Node.js 12」タグの記事が3件件あります

全てのタグを見る

globalThis

· 約2分
Mathias Bynens ([@mathias](https://twitter.com/mathias))

もし以前にWebブラウザで使用するJavaScriptを書いたことがあるなら、グローバルthisにアクセスするためにwindowを使用した可能性があります。Node.jsでは、globalを使ったことがあるかもしれません。どちらの環境でも動作するコードを書く場合、利用可能なものを検出して使用してきたかもしれませんが、サポートする環境とユースケースの数が増えるごとにチェックすべき識別子のリストは増加します。それはすぐに管理ができなくなります:

`Intl.ListFormat`

· 約4分
Mathias Bynens([@mathias](https://twitter.com/mathias))およびFrank Yung-Fong Tang

モダンなWebアプリケーションでは、動的なデータで構成されたリストがよく使用されます。例えば、写真ビューアアプリでは以下のような表示がされることがあります:

この写真にはAda、Edith、_および_Graceが含まれます。

テキストベースのゲームでは、異なる種類のリストが用いられるかもしれません:

あなたの超能力を選んでください:不可視化、念動力、_または_共感力

各言語ごとにリストのフォーマットの慣例や単語が異なるため、ローカライズされたリストフォーマッタを実装するのは簡単ではありません。サポートしたいすべての言語の単語(上記の例では「and」や「or」など)のリストが必要なだけでなく、それらの言語における特定のフォーマットの慣例もすべてエンコードする必要があります。Unicode CLDRはそのデータを提供していますが、それをJavaScriptで使用するには、他のライブラリコードと一緒に埋め込んで配送する必要があります。このため、そのようなライブラリの場合、バンドルサイズが増加し、読み込み時間、解析/コンパイルコスト、メモリ使用量に悪影響を及ぼします。

`Intl.RelativeTimeFormat`

· 約5分
Mathias Bynens ([@mathias](https://twitter.com/mathias))

現代のウェブアプリケーションでは、完全な日付やタイムスタンプの代わりに「昨日」「42秒前」「3ヶ月後」といったフレーズを使用することが増えています。このような_相対的な時刻形式の値_は非常に一般的となり、いくつかの人気のあるライブラリがこれをローカライズして形式化するユーティリティ関数を実装しています。(例として、Moment.jsGlobalizedate-fnsがあります。)