Intl.Locale.prototype.collation
Intl.Locale.prototype.collation
プロパティは、 Locale
の照合種別を返すアクセサープロパティです。
解説
照合とは、文字列を並べ替える処理のことです。検索クエリの結果からデータベース内のレコードの順序付けまで、文字列を特定の順序に並べ替えて配置しなければならない場合に使用されます。文字列を順番に配置するという考えは些細なことのように思えるかもしれませんが、順序の考え方は地域や言語によって異なることがあります。 collation
プロパティは、 JavaScript プログラマーが特定のロケールで使用される照合種別に簡単にアクセスできるようにすることを助けます。
利用可能な照合種別は下記の表にあります。 Unicode 照合仕様書 から引用したものです。
有効な照合種別
照合種別 | 説明 |
---|---|
big5han | ラテン文字はピンイン順、漢字は big5 文字セット順 (中国語で使用) |
compat | 前の版の順序で、互換性のため |
dict | 辞書形式の順序 (シンハラ語など) |
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" と表示
仕様書
ブラウザーの互換性
BCD tables only load in the browser