Intl.Locale.prototype.numberingSystem
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2020年9月.
numberingSystem は Intl.Locale インスタンスのアクセサープロパティで、このロケールが使用する記数法を返します。
解説
対応している記数法の種類の一覧については、Intl.supportedValuesOf() を参照してください。
numberingSystem プロパティの値は、ロケール識別子の nu キー、または Intl.Locale() コンストラクターの numberingSystem オプションを通じて、コンストラクション時に設定されます。両方が存在する場合、後者が優先されます。どちらも存在しない場合、プロパティの値は undefined となります。
numberingSystem の設定アクセサーは undefined です。このプロパティを直接変更することはできません。
例
他のロケールサブタグと同様に、記数法はロケール文字列を介して、またはコンストラクターへの設定オブジェクト引数として、Intl.Locale オブジェクトに追加できます。
ロケール文字列から記数法を設定
Unicode ロケール文字列仕様書では、 numberingSystem は「拡張サブタグ」の一つです。これらのサブタグは、ロケールに関する追加データを追加するもので、拡張キー -u を使用してロケール識別子に追加されます。Intl.Locale() コンストラクターに渡される初期ロケール識別子文字列に記数法を追加するには、まず -u 拡張キーが存在しない場合にはこれを追加します。次に、 -nu 拡張キーを追加して、記数法の値を追加していることを示します。最後に、文字列に記数法の値を追加します。
const locale = new Intl.Locale("fr-Latn-FR-u-nu-mong");
console.log(locale.numberingSystem); // "mong" と表示
構成オブジェクト引数から numberingSystem の値を設定
Intl.Locale コンストラクターには、オプションで構成オブジェクトの引数があり、これを使用して拡張の種類を渡すことができます。構成オブジェクトの numberingSystem プロパティを任意の記数法に設定し、コンストラクターに渡します。
const locale = new Intl.Locale("en-Latn-US", { numberingSystem: "latn" });
console.log(locale.numberingSystem); // "latn" と表示
仕様書
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # sec-Intl.Locale.prototype.numberingSystem> |