Intl.Locale.prototype.collation
Intl.Locale.prototype.collation
プロパティは、 Locale
の照合種別を返すアクセサープロパティです。
解説
照合順序とは、文字列を順番に並べる処理のことです。検索クエリーの結果やデータベース内のレコードの順序など、文字列を一定の順序に並べ替える必要がある場合に使用されます。文字列を順番に並べるという考えは些細なことと思えるかもしれませんが、順番の考え方は地域や言語によって異なる場合があります。 collation
プロパティは、 JavaScript プログラマーが特定のロケールで使用される照合順序の種類に簡単にアクセスできるようにするためのものです。
利用可能な照合種別は下記の表にあります。 Unicode 照合仕様書から引用したものです。
有効な照合種別
照合種別 | 説明 |
---|---|
big5han | ラテン文字はピンイン順、漢字は big5 文字セット順(中国語向け)
注: `big5han` 照合種別は Chrome や Edge では使用できません。 |
compat | 前の版の順序で、互換性のため(アラビア語向け) |
dict | 辞書形式の順序(シンハラ語向け) |
警告: direct |
バイナリコードポイント順 |
ducet | 既定の Unicode 照合順で、要素表順
警告: `ducet` 照合種別はウェブでは利用できません。代わりに `und` ロケールを照合種別指定子なしで使用してください。 `und` は DUCET に最も近い照合種別です。 |
emoji | 絵文字に推奨される順序(`und` ロケール向け) |
eor | ヨーロッパ語の順序の規則(`und` ロケール向け) |
gb2312 | ラテン文字はピンイン順、漢字は gb2312han 文字セット順(中国語向け)
注: |
phonebk | 電話帳形式の順序(ドイツ語向け) |
phonetic | 発音順(発音に基づく順序、リンガラ語向け) |
pinyin | ラテン文字と漢字はピンイン順(中国語向け) |
reformed | リフォーム順(スウェーデン語向け)
注: これは、 2022 年 5 月現在、スウェーデン語の既定の順序ですが、照合順序の名前が異常です。これは既定値なので、 `sv-u-co-reformed` をリクエストするのではなく、 `sv` をリクエストしてください。 |
search | 文字列検索のための特殊な照合種別
警告: 使用しないでください。 |
searchjl | 韓国語の頭文字子音検索用の特殊な照合種別 |
standard | 各言語の既定の照合順。ただし、中国語と、 2022 年 5 月時点ではスウェーデン語を除きます。
警告: 明示的に使用しないでください。一般に、明示的に指定する必要はありません。また、スウェーデン語に対してこれを指定すると、将来、スウェーデン語の照合順序の命名が他の言語と整合するように変更された場合に問題があります。 |
stroke | ラテン文字はピンイン順、漢字は画数順(中国語向け) |
trad | 歴史的なスタイルの順序(スペイン語など) |
unihan |
漢字の部首の画数順(中国語、日本語、韓国語向け)。
中国語の場合はラテン文字はピンイン順。
注: |
zhuyin |
ラテン語はピンイン順、ボポモフォと漢字は竹簡順(中国語向け) |
例
他のロケールのサブタグと同様、照合種別はロケール文字列やコンストラクターの構成オブジェクトの引数で Intl.Locale
オブジェクトに追加することができます。
ロケール文字列による照合種別の追加
Unicode ロケール文字列仕様書では、照合種別はロケールキーの「拡張子サブタグ」となります。これらのサブタグは、ロケールに関するデータを追加するもので、 -u
拡張を使用してロケール識別子に追加されます。つまり、照合種別は、ロケールのコンストラクターに渡される初期のロケール識別子文字列に追加することができます。照合種別を追加するには、まず文字列に -u
拡張を追加します。次に、照合順序の型を追加することを示すために -co
拡張を追加します。最後に、照合順序を文字列に追加します。
js
let locale = new Intl.Locale("zh-Hant-u-co-zhuyin");
console.log(locale.collation); // "zhuyin" と表示
構成オブジェクト引数による照合種別の追加
Intl.Locale
コンストラクターには、オプションで構成オブジェクトの引数があり、これには照合種別を含む任意の拡張の種類をいくつか含めることができます。構成オブジェクトの collation
プロパティを任意の照合種別に設定し、コンストラクターに渡します。
js
let locale = new Intl.Locale("zh-Hant", { collation: "zhuyin" });
console.log(locale.collation); // "zhuyin" と表示
仕様書
Specification |
---|
ECMAScript Internationalization API Specification # sec-Intl.Locale.prototype.collation |
ブラウザーの互換性
BCD tables only load in the browser