このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Intl.PluralRules.prototype.resolvedOptions()

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2019年9月以降、すべてのブラウザーで利用可能です。

resolvedOptions()Intl.PluralRules インスタンスのメソッドで、この PluralRules オブジェクトの初期化中に計算されたオプションを反映するプロパティを持つ、新しいオブジェクトを返します。

試してみましょう

const pluralRules1 = new Intl.PluralRules("uk");
const options1 = pluralRules1.resolvedOptions();

const pluralRules2 = new Intl.PluralRules("bn");
const options2 = pluralRules2.resolvedOptions();

console.log(options1.pluralCategories);
// 予想される結果: Array ["few", "many", "one", "other"]

console.log(options2.pluralCategories);
// 予想される結果: Array ["one", "other"]

構文

js
resolvedOptions()

引数

なし。

返値

この PluralRules オブジェクトの初期化時に計算されたオプションを反映したプロパティを持つ新しいオブジェクト。このオブジェクトには、記載順に以下のプロパティがあります。

locale

実際に使用されているロケールの BCP 47 言語タグです。これは、ロケールネゴシエーションのプロセスによって決定されます。出力には、Unicode 拡張キーは記載されません。

type

options 引数でこのプロパティに指定された値です。必要に応じてデフォルト値が設定されます。値は "cardinal" または "ordinal" のどちらかです。デフォルト値は "cardinal" です。

minimumIntegerDigits, minimumFractionDigits, maximumFractionDigits 省略可

これらのプロパティには、 options 引数で指定された値が入るか、既定値で埋められます。これらのプロパティは minimumSignificantDigitsmaximumSignificantDigits のどちらも options 引数で指定されなかった場合のみ存在します。

minimumSignificantDigits, maximumSignificantDigits 省略可

これらのプロパティには、 options 引数で指定された値が入るか、既定値で埋められます。これらのプロパティは、少なくとも 1 つのプロパティが options 引数で提供された場合にのみ表示されます。

pluralCategories

指定されたロケールで使用される複数形カテゴリーの Array で、 "zero", "one", "two", "few", "many", "other" のリストの中から選択します。

roundingIncrement

options 引数でこのプロパティに指定された値です。必要に応じてデフォルト値が設定されます。値は、125102025501002002505001000200025005000のいずれかです。デフォルト値は1です。

roundingMode

options 引数でこのプロパティに指定された値です。必要に応じてデフォルト値が設定されます。値は、"ceil""floor""expand""trunc""halfCeil""halfFloor""halfExpand""halfTrunc""halfEven" のいずれかです。デフォルト値は "halfExpand" です。

roundingPriority

options 引数でこのプロパティに指定された値です。必要に応じてデフォルト値が設定されます。値は "auto""morePrecision""lessPrecision" のいずれかです。デフォルト値は "auto" です。

trailingZeroDisplay

options 引数でこのプロパティに指定された値です。必要に応じてデフォルト値が設定されます。値は "auto" または "stripIfInteger" のどちらかです。デフォルト値は "auto" です。

resolvedOptions() メソッドの使用

下記コードでは、PluralRules オブジェクトの生成と、それに続くそれぞれの解決済みオプションのログ出力について示しています。

js
// PluralRules インスタンスを生成
const de = new Intl.PluralRules("de-DE", {
  maximumSignificantDigits: 2,
  trailingZeroDisplay: "auto",
});

// オプションを解決
const usedOptions = de.resolvedOptions();
console.log(usedOptions.locale); // "de-DE"
console.log(usedOptions.pluralCategories); // Array ["one", "other"]
console.log(usedOptions.type); // "cardinal"
console.log(usedOptions.minimumIntegerDigits); // 1
console.log(usedOptions.minimumFractionDigits); // undefined (maximumSignificantDigits が設定されている)
console.log(usedOptions.maximumFractionDigits); // undefined (maximumSignificantDigits が設定されている)
console.log(usedOptions.minimumSignificantDigits); // 1
console.log(usedOptions.maximumSignificantDigits); // 2
console.log(usedOptions.roundingIncrement); // 1
console.log(usedOptions.roundingMode); // "halfExpand"
console.log(usedOptions.roundingPriority); // "auto"
console.log(usedOptions.trailingZeroDisplay); // "auto"

仕様書

仕様書
ECMAScript® 2027 Internationalization API Specification
# sec-intl.pluralrules.prototype.resolvedoptions

ブラウザーの互換性

関連情報