Intl.Locale.prototype.numeric

Intl.Locale.prototype.numeric プロパティは、ロケールが特別な数字の照合処理を行うかどうかを返すアクセサプロパティです。

解説

Intl.Locale.caseFirst と同様、 numeric はロケールが使用する照合規則を変更するものです。 numericBoolean 値で、 truefalse のどちらかになります。 numericfalse に設定した場合は、文字列内の数値を特別に扱うことはありません。 numerictrue に設定した場合は、ロケールは文字列を照合する際に数値を考慮します。この数値の特別な扱いとは、数字の並びを数値として比較するということです。例えば、 "A-21" という文字列は "A-123" よりも小さいとみなされます。

ロケール文字列から numeric の値を設定

Unicode ロケール文字列仕様書では、 numeric が表す値はキー kn に対応しています。 kn はロケール文字列の「拡張サブタグ」とみなされます。これらのサブタグは、ロケールに関する追加データを追加するもので、拡張キー -u を使用してロケール識別子に追加されます。このようして、 numeric の値を Locale コンストラクターに渡される初期のロケール識別子文字列に追加することができます。 numeric の値を設定するには、まず文字列に -u 拡張キーを追加します。次に、 -kn 拡張キーを追加して、 numeric の値を追加していることを示します。最後に、文字列に numeric の値を追加します。 numerictrue に設定したい場合は、単に kn キーを追加するだけで十分です。値を false にするには、 kn キーの後に "false" を指定する必要があります。

let numericViaStr = new Intl.Locale("fr-Latn-FR-u-kn-false");
console.log(numericStr.numeric); // "false" と表示

構成オブジェクト引数から numeric の値を設定

Intl.Locale コンストラクターには、オプションで構成オブジェクトの引数があり、これを使用して拡張の種類を渡すことができます。構成オブジェクトの numeric プロパティを任意の numeric に設定し、コンストラクターに渡します。

let numericViaObj= new Intl.Locale("en-Latn-US", {numeric: true});
console.log(us12hour.numeric); // "true" と表示

仕様書

仕様書
ECMAScript Internationalization API (ECMA-402)

ブラウザーの互換性

BCD tables only load in the browser

関連情報