第30章 ライブラリ
目次
書籍を購入する
(広告です。ブロックしないでください。)

第30章 ライブラリ

この章では、JavaScriptライブラリについて説明します。最初に、2種類の特別なライブラリであるshimとpolyfillについて説明します。次に、いくつかの主要なライブラリをリストアップします。最後に、ライブラリ関連の追加リソースを紹介します。

ShimとPolyfillの違い

Shimとpolyfillは、古いJavaScriptエンジンに新しい機能を後付けするためのライブラリです:

例としては、

  • “HTML5 Cross Browser Polyfills”: Paul Irish氏によってまとめられたリストです。
  • es5-shimは、ECMAScript 5の機能をECMAScript 3エンジンに後付けする(polyfillではない)shimです。これは純粋に言語に関連しており、ブラウザ上と同様にNode.js上でも有効です。

4つの言語ライブラリ

以下のライブラリは、確立されており、言語に近いものです。 これらを知っておくと便利です:

ECMAScript国際化API

ECMAScript国際化APIは、国際化に関連するタスク(照合(文字列のソートと検索)、数値の書式設定、日付と時刻の書式設定)を支援する標準のJavaScript APIです。このセクションでは、概要を説明し、詳細な資料を紹介します。

ECMAScript国際化API、第1版

APIの第1版では、以下のサービスが提供されています。

  • 照合は、文字列セットのソートと文字列セット内での検索の2つのシナリオをサポートします。照合はロケールによってパラメータ化され、Unicodeを認識します。
  • 数値の書式設定。パラメータには以下が含まれます。

    • 書式設定のスタイル:10進数、通貨(どの通貨とどのように参照するかは、他のパラメータによって決定されます)、パーセント
    • ロケール(直接指定または最適なもの、マッチャーオブジェクトを介して検索)
    • 記数法(西洋数字、アラビア数字、タイ数字など)
    • 精度:整数桁数、小数桁数、有効桁数
    • グループ区切り文字のオン/オフ
  • 日付と時刻の書式設定。パラメータには以下が含まれます。

    • どの情報をどのスタイル(短縮、詳細、数値など)で書式設定するか
    • ロケール
    • タイムゾーン

ほとんどの機能はグローバル変数Intlのオブジェクトを介してアクセスされますが、APIは次のメソッドも拡張します。

  • String.prototype.localeCompare
  • Number.prototype.toLocaleString
  • Date.prototype.toLocaleString
  • Date.prototype.toLocaleDateString
  • Date.prototype.toLocaleTimeString

どのような種類の標準ですか?

標準「ECMAScript国際化API」(EIA)の番号はECMA-402です。これは、ECMAScript言語仕様であるEMCA-262もホストしている団体であるEcma Internationalによってホストされています。どちらの標準もTC39によって維持されています。したがって、EIAはECMA-262の一部ではないにしても、言語に可能な限り近いものです。APIは、ECMAScript 5とECMAScript 6の両方で動作するように設計されています。適合性テストのセットは、標準を補完し、APIのさまざまな実装の互換性を保証します(ECMA-262にも同様のテストスイートがあります)。

いつ使用できますか?

最新のブラウザのほとんどは、すでにそれをサポートしているか、サポートするプロセスにあります。David Storey氏は、詳細な互換性テーブルを作成しました(どのブラウザがどのロケールなどをサポートしているかを示しています)。

参考文献

ECMAScript国際化APIの仕様書は、Norbert Lindenberg氏によって編集されています。PDF、HTML、EPUB形式で入手できます。さらに、いくつかの包括的な入門記事があります。

JavaScriptリソースのディレクトリ

このセクションでは、JavaScriptリソースに関する情報を収集するサイトについて説明します。このようなディレクトリには、いくつかの種類があります。

以下は、JavaScriptの一般的なディレクトリのリストです。

専門ディレクトリには以下が含まれます。

もちろん、いつでもパッケージマネージャーのレジストリを直接閲覧できます。

CDN(コンテンツ配信ネットワーク)とCDNコンテンツのディレクトリには以下が含まれます。

謝辞

このセクションには、Kyle Simpson氏(@getify)、Gildas Lormeau氏(@check_ca)、Fredrik Sogaard氏(@fredrik_sogaard)、Gene Loparco氏(@gloparco)、Manuel Strehl氏(@m_strehl)、Elijah Manor氏(@elijahmanor)が貢献しました。

次: 31. モジュールシステムとパッケージマネージャー