Intl.Locale.prototype.collation

Intl.Locale.prototype.collation プロパティは、 Locale照合種別を返すアクセサープロパティです。

解説

照合とは、文字列を並べ替える処理のことです。検索クエリの結果からデータベース内のレコードの順序付けまで、文字列を特定の順序に並べ替えて配置しなければならない場合に使用されます。文字列を順番に配置するという考えは些細なことのように思えるかもしれませんが、順序の考え方は地域や言語によって異なることがあります。 collation プロパティは、 JavaScript プログラマーが特定のロケールで使用される照合種別に簡単にアクセスできるようにすることを助けます。

利用可能な照合種別は下記の表にあります。 Unicode 照合仕様書 から引用したものです。

有効な照合種別

照合種別 説明
big5han ラテン文字はピンイン順、漢字は big5 文字セット順 (中国語で使用)
compat 前の版の順序で、互換性のため
dict 辞書形式の順序 (シンハラ語など)

direct 照合順は非推奨です。使用しないでください。

direct

バイナリコードポイント順 (ヒンズー語で使用)
ducet 既定の Unicode 照合順で、要素表順
emoji 絵文字に推奨の順序
eor ヨーロッパ語の順序の規則
gb2312 ラテン文字はピンイン順、漢字は gb2312han 順 (中国語で使用)
phonebk 電話帳形式の順序 (ドイツ語など)
phonetic 発音順 (発音に基づく順序)
pinyin ラテン文字と漢字はピンイン順 (中国語で使用)
reformed リフォーム順 (スウェーデン語など)
search 文字列検索のための特殊な照合種別
searchjl 韓国語の頭文字子音検索用の特殊な照合種別
standard 各言語の既定の照合順
stroke ラテン文字はピンイン順、漢字は画数順 (中国語で使用)
trad 歴史的な形の順序 (スペイン語など)
unihan ラテン文字はピンイン順、漢字は Unihan 部首画数順 (中国語で使用)
zhuyin

ラテン文字はピンイン順、漢字とパパラモフォは注音順 (中国語で使用)

他のロケールのサブタグと同様、照合種別はロケール文字列やコンストラクターの構成オブジェクトの引数で Intl.Locale オブジェクトに追加することができます。

ロケール文字列による照合種別の追加

Unicode ロケール文字列仕様書では、照合種別はロケールキーの「拡張子サブタグ」となります。これらのサブタグは、ロケールに関するデータを追加するもので、 -u 拡張を使用してロケール識別子に追加されます。つまり、照合種別は、ロケールのコンストラクターに渡される初期のロケール識別子文字列に追加することができます。照合種別を追加するには、まず文字列に -u 拡張を追加します。次に、照合順序の型を追加することを示すために -co 拡張を追加します。最後に、照合順序を文字列に追加します。

let stringColl = new Intl.Locale("en-Latn-US-u-co-emoji");
console.log(stringColl.collation); // "emoji" と表示

構成オブジェクト引数による照合種別の追加

Intl.Locale コンストラクターには、オプションで構成オブジェクトの引数があり、これには照合種別を含む任意の拡張の種類をいくつか含めることができます。構成オブジェクトの collation プロパティを任意の照合種別に設定し、コンストラクターに渡します。

let configColl = new Intl.Locale("en-Latn-US", {collation: "emoji"});
console.log(configColl.collation); // "emoji" と表示

仕様書

仕様書
ECMAScript Internationalization API (ECMA-402)

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
collationChrome 完全対応 74Edge 完全対応 79Firefox 完全対応 75IE 未対応 なしOpera 完全対応 62Safari 完全対応 14WebView Android 完全対応 74Chrome Android 完全対応 74Firefox Android 未対応 なしOpera Android 完全対応 53Safari iOS 完全対応 14Samsung Internet Android 完全対応 11.0nodejs 完全対応 12.0.0
補足
完全対応 12.0.0
補足
補足 Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。

関連情報