Spec-Zone.ru › JavaScript

Intl.supportedValuesOf()

Базовый уровень Широко доступен

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с сентября 2017 года.

Статический метод Intl.supportedValuesOf() возвращает массив, содержащий поддерживаемые реализацией значения календаря, сортировки, валюты, систем счисления или единиц измерения.

Дубликаты опускаются, а массив сортируется в лексикографическом порядке по возрастанию (или, точнее, с использованием Array.prototype.sort() с функцией сравнения undefined).

Метод можно использовать для проверки поддержки значений в конкретной реализации и загрузки полифилла только при необходимости. Его также можно использовать для создания пользовательских интерфейсов, позволяющих пользователям выбирать предпочитаемые локализованные значения, например, когда интерфейс создается из WebGL или на стороне сервера.

Этот метод не зависит от локали: некоторые идентификаторы могут поддерживаться или предпочитаться только в определенных локалях. Если вы хотите определить предпочтительные значения для конкретной локали, следует использовать объект Intl.Locale, такой как Intl.Locale.prototype.getCalendars().

Попробуйте

console.log(Intl.supportedValuesOf("calendar"));
console.log(Intl.supportedValuesOf("collation"));
console.log(Intl.supportedValuesOf("currency"));
console.log(Intl.supportedValuesOf("numberingSystem"));
console.log(Intl.supportedValuesOf("timeZone"));
console.log(Intl.supportedValuesOf("unit"));
// Expected output: Array ['key'] (for each key)

try {
  Intl.supportedValuesOf("someInvalidKey");
} catch (err) {
  console.log(err.toString());
  // Expected output: RangeError: invalid key: "someInvalidKey"
}

Синтаксис

Intl.supportedValuesOf(key)

Параметры

key
Строка ключа, указывающая категорию возвращаемых значений. Это одно из следующих значений:
  • "calendar": см. поддерживаемые типы календарей
  • "collation": см. поддерживаемые типы сортировки
  • "currency": см. поддерживаемые идентификаторы валют
  • "numberingSystem": см. поддерживаемые типы систем счисления
  • "timeZone": см. поддерживаемые идентификаторы часовых поясов
  • "unit": см. поддерживаемые идентификаторы единиц измерения

Возвращаемое значение

Отсортированный массив уникальных строковых значений, указывающих на значения, поддерживаемые реализацией для данного ключа. Возможные возвращаемые значения перечислены ниже.

Поддерживаемые типы календарей

Ниже приведены все значения, которые обычно поддерживаются браузерами для ключа calendar. Эти значения могут использоваться для опции calendar или ключевого расширения Unicode ca при создании таких объектов, как Intl.DateTimeFormat, а также для создания Temporal объектов даты. Этот список явно санкционирован спецификацией ECMA-402, поэтому все реализации должны быть согласованы.

Значение Описание
buddhist Тайский буддийский календарь, пролептический. Номера месяцев, коды месяцев и дни совпадают с календарем ISO 8601, но год начала отличается. Существует одна эра.
chinese Традиционный китайский календарь, пролептический. Лунно-солнечный календарь, используемый в Китае на основе данных, опубликованных обсерваторией Пурпурной горы между 1900 и 2100 годами (что соответствует GB/T 33661-2017 между 1912 и 2100 годами), с переходом к определенной реализацией аппроксимации вне этого диапазона. Арифметический год идентичен gregory, и эры отсутствуют.
coptic Коптский календарь, пролептический. Солнечный алгоритм, аналогичный ethioaa и ethiopic, с одной эрой и другим годом начала.
dangi Традиционный корейский календарь, пролептический. Лунно-солнечный календарь, использующий месяцы, опубликованные Корейским институтом астрономии и наук о Земле (KASI) между 1900 и 2050 годами, с переходом к определенной реализацией аппроксимации вне этого диапазона. Арифметический год идентичен gregory, и эры отсутствуют.
ethioaa Эфиопский календарь, Amete Alem, пролептический. Солнечный алгоритм, аналогичный coptic и ethiopic, с одной эрой и другим годом начала.
ethiopic Эфиопский календарь, Amete Mihret, пролептический. Солнечный алгоритм, аналогичный coptic и ethioaa, с двумя эрами и другим годом начала.
gregory Григорианский календарь, пролептический. Солнечный календарь, почти идентичный календарю ISO 8601, за исключением того, что он не определяет нумерацию недель и содержит две эры, одну до года начала.
hebrew Еврейский календарь, пролептический. Гражданский календарь с Тишрей в качестве первого месяца года. Лунно-солнечный календарь с одним високосным месяцем, вставляемым после 5-го месяца. Существует одна эра.
indian Индийский национальный (или Шака) календарь, пролептический. Солнечный календарь с одной эрой.
islamic-civil Хиджра, пролептический, табличный/правиловый с правилом високосного года II (високосные годы 2, 5, 7, 10, 13, 16, 18, 21, 24, 26, 29 в 30-летнем цикле (нумерация с 1) и гражданская эра (пятница, 16 июля 622 г. по юлианскому календарю / 622-07-19 по ISO)
islamic-tbla Хиджра, пролептический, табличный/правиловый с правилом високосного года II (високосные годы 2, 5, 7, 10, 13, 16, 18, 21, 24, 26, 29 в 30-летнем цикле (нумерация с 1) и астрономическая эра (четверг, 15 июля 622 г. по юлианскому календарю / 622-07-18 по ISO)
islamic-umalqura Хиджра, пролептический, Умм аль-Кура. Лунный календарь с использованием месяцев, рассчитанных KACST, с начала 1300 г. Хиджры (1882-11-12 по ISO) до конца 1600 г. Хиджры (2174-11-25 по ISO), с переходом к islamic-civil вне этого диапазона.
iso8601 ISO календарь (вариант григорианского календаря с правилами нумерации недель и параметрами форматирования, не зависящими от региона)
japanese Японский императорский календарь (этот календарь добавляет эру для каждого нового императора, поэтому год и эра вывода для будущей даты могут не совпадать с годом и эрой ввода при выполнении вашего кода в будущей версии движка. Примечание: См. замечания ниже этой таблицы о датах до 1868-10-23 по ISO.)
persian Персидский (или солнечный хиджра) календарь, пролептический. Существует одна эра.
roc Календарь Китайской Республики (или Минго), пролептический. Номера месяцев, коды месяцев и дни совпадают с календарем ISO 8601, но год начала отличается. Существует две эры, одна до года начала и одна после.

По состоянию на октябрь 2025 года в календаре japanese даты до 1868-10-23 по ISO (дата начала 1 года Мэйдзи) работают в браузерах некорректно двумя способами. Во-первых, CLDR имел неверную дату начала эры Мэйдзи, что приводит к тому, что реализации календаря продлевают эру Мэйдзи дальше в прошлое, чем это было на самом деле. Во-вторых, предстоящее Предложение по эре и коду месяца Intl предусматривает, что даты до 1873-01-01 по ISO должны использовать григорианские эры, но браузеры традиционно использовали аппроксимации предыдущих японских эр. Календарь japanese был введен 1 января 6 года Мэйдзи / 1873-01-01 по ISO, поэтому эти проблемы затрагивают только пролептические даты.

Типы ниже указаны в CLDR, но не имеют в браузерах реализаций, отличных от вышеуказанных календарей.

Значение Описание Примечания
ethiopic-amete-alem Эфиопский календарь, Amete Alem, пролептический. Это псевдоним для ethioaa и, следовательно, не возвращается supportedValuesOf(). Используйте вместо него ethioaa.
islamic Хиджра, неуказанный алгоритм. По состоянию на апрель 2025 года это астрономическая симуляция, параметры которой не документированы и, как известно, не соответствуют конкретному варианту хиджры из контекстов, не связанных с программным обеспечением. Предусмотрено каноническое преобразование в другой календарь, обычно один из islamic-umalqura, islamic-tbla или islamic-civil, и выдачу предупреждения.
islamicc Устарело Гражданский (алгоритмический) арабский календарь. Это псевдоним для islamic-civil и, следовательно, не возвращается supportedValuesOf(). Используйте вместо него islamic-civil.

Документация по Temporal.PlainDate.prototype.era и Temporal.PlainDate.prototype.monthCode содержит дополнительную информацию о различных календарях.

Ссылки:

  • Ключи типов календарей CLDR
  • UTS 35, Даты
  • Типы исламских календарей (предложение по дизайну CLDR)

Поддерживаемые типы сортировки

Ниже приведены все значения, которые обычно поддерживаются браузерами для ключа collation. Эти значения могут использоваться для опции collation или ключа расширения Unicode co при создании таких объектов, как Intl.Collator.

Значение Описание
compat Предыдущая версия порядка, для совместимости (для арабского языка)
dict Сортировка в словарном стиле (для сингальского языка). Также распознается как dictionary.
emoji Рекомендуемый порядок для символов эмодзи. Запрошенный язык не имеет значения, поэтому его объединение с языком, требующим языковых правил, нарушает сортировку текста на этом языке!
eor Европейские правила сортировки (ENV 13710). Этот порядок разработан так, чтобы не зависеть от языка. Хотя API требует прикрепления его к языку, запрошенный язык не влияет на порядок.
phonebk Сортировка в телефонном стиле (для немецкого языка). Также распознается как phonebook.
phonetic Фонетическая сортировка (сортировка на основе произношения; для лингала)
pinyin Сортировка пиньинь для латиницы и иероглифов (для китайского языка)
searchjl Специальный тип сортировки для поиска начальных согласных в корейском языке. Предупреждение: Эта сортировка не предназначена для сортировки, даже если вы можете использовать ее только с Intl.Collator usage: "sort".
stroke Сортировка пиньинь для латиницы, порядок черт для иероглифов (для китайского языка)
trad Сортировка в традиционном стиле (например, в испанском языке). Также распознается как traditional.
unihan Сортировка по радикалам и чертам унихан для иероглифов (для китайского, японского и корейского языков), сортировка пиньинь для латиницы для китайского языка и стандартная сортировка кана для японского языка
zhuyin Сортировка пиньинь для латиницы, порядок бопомофо и иероглифов (для китайского языка)

Типы ниже указаны в данных CLDR, но устарели, их использование не рекомендуется и/или они могут не быть обозначены браузерами как поддерживаемые по различным причинам. Избегайте их использования:

Значение Описание Примечания
big5han Устарело Сортировка пиньинь для латиницы, сортировка по кодировке Big5 для иероглифов CJK (используется в китайском языке) Устарело.
direct Устарело Двоичный порядок кодовых точек (используется в хинди) Устарело.
ducet Порядок таблицы элементов Unicode по умолчанию Тип сортировки ducet недоступен для Интернета.
gb2312 Устарело Сортировка пиньинь для латиницы, сортировка по кодировке GB2312 для иероглифов CJK (для китайского языка). Также распознается как gb2312han. Устарело.
reformed Устарело Реформированный порядок (например, шведский) Устарело. Это старое название порядка по умолчанию для шведского языка , название сортировки которого раньше отличалось от других языков. Поскольку это был порядок по умолчанию, запрашивайте sv вместо sv-u-co-reformed.
search Специальный тип сортировки для поиска строк Не используйте в качестве типа сортировки, поскольку в Intl.Collator эта сортировка активируется через опцию usage: "search". В настоящее время API для поиска подстрок отсутствует, поэтому это полезно только для фильтрации списка строк путем попытки полного совпадения ключа с каждым элементом списка.
standard Порядок сортировки по умолчанию для каждого языка, кроме китайского (и ранее шведского) Не используйте явно. В целом, указывать это явно не требуется, а указание для шведского языка проблематично из-за другого значения для шведского языка в прошлом.

Ссылки:

  • Ключи типов сортировки CLDR
  • UTS 35, Сортировка

Поддерживаемые идентификаторы валют

Идентификаторы валют — это трехбуквенные заглавные коды, определенные в ISO 4217. Эти значения могут использоваться для опции currency при создании таких объектов, как Intl.NumberFormat, а также для Intl.DisplayNames.prototype.of(). Существует более 300 широко используемых идентификаторов, поэтому мы не будем их перечислять. Исчерпывающий список возможных идентификаторов см. в статье в Википедии.

Ссылки:

  • Ключи типов валют CLDR
  • Коды валют ISO 4217
  • UTS 35, Валюты

Поддерживаемые типы систем счисления

Ниже приведены все значения, которые обычно поддерживаются браузерами для ключа numberingSystem. Эти значения могут использоваться для опции numberingSystem или ключа расширения Unicode nu при создании таких объектов, как Intl.NumberFormat. Для строк с "символами цифр" среда выполнения переводит цифры по одной без дополнительных действий. Другие, помеченные как "алгоритмические", требуют дополнительных алгоритмов для перевода цифр. Чем выше кодовая точка Unicode, тем новее система счисления и тем вероятнее, что она не будет поддерживаться всеми браузерами.

Значение Описание Символы цифр
adlm Цифры Адлам 𞥐𞥑𞥒𞥓𞥔𞥕𞥖𞥗𞥘𞥙 (U+1E950 по U+1E959)
ahom Цифры Ахом 𑜰𑜱𑜲𑜳𑜴𑜵𑜶𑜷𑜸𑜹 (U+11730 по U+11739)
arab Арабо-индийские цифры ٠١٢٣٤٥٦٧٨٩ (U+0660 по U+0669)
arabext Расширенные арабо-индийские цифры ۰۰۱۲۳۴۵۶۷۸۹ (U+06F0 по U+06F9)
armn Армянские цифры в верхнем регистре алгоритмические
armnlow Армянские цифры в нижнем регистре алгоритмические
bali Балийские цифры ᭐᭑᭒᭓᭔᭕᭖᭗᭘᭙ (U+1B50 по U+1B59)
beng Бенгальские цифры ০১২৩৪৫৬৭৮৯ (U+09E6 по U+09EF)
bhks Цифры Бхайкшуки 𑱐𑱑𑱒𑱓𑱔𑱕𑱖𑱗𑱘𑱙 (U+11C50 по U+11C59)
brah Цифры Брахми 𑁦𑁧𑁨𑁩𑁪𑁫𑁬𑁭𑁮𑁯 (U+11066 по U+1106F)
cakm Цифры Чакма 𑄶𑄷𑄸𑄹𑄺𑄻𑄼𑄽𑄾𑄿 (U+11136 по U+1113F)
cham Цифры Чам ꩐꩑꩒꩓꩔꩕꩖꩗꩘꩙ (U+AA50 по U+AA59)
cyrl Кириллические цифры алгоритмические
deva Цифры Деванагари ०१२३४५६७८९ (U+0966 по U+096F)
diak Цифры Дивес Акхру 𑥐𑥑𑥒𑥓𑥔𑥕𑥖𑥗𑥘𑥙 (U+11950 по U+11959)
ethi Эфиопские цифры алгоритмические
fullwide Цифры полной ширины 0123456789 (U+FF10 по U+FF19)
gara Цифры Гарай 𐵀𐵁𐵂𐵃𐵄𐵅𐵆𐵇𐵈𐵉 (U+10D40 по U+10D49)
geor Грузинские цифры алгоритмические
gong Цифры Гунджала Гонди 𑶠𑶡𑶢𑶣𑶤𑶥𑶦𑶧𑶨𑶩 (U+11DA0 по U+11DA9)
gonm Цифры Масарам Гонди 𑵐𑵑𑵒𑵓𑵔𑵕𑵖𑵗𑵘𑵙 (U+11D50 по U+11D59)
grek Греческие цифры в верхнем регистре алгоритмические
greklow Греческие цифры в нижнем регистре алгоритмические
gujr Гуджратские цифры ૦૧૨૩૪૫૬૭૮૯ (U+0AE6 по U+0AEF)
gukh Цифры Гурунг Кхэма 𖄰𖄱𖄲𖄳𖄴𖄵𖄶𖄷𖄸𖄹 (U+16130 по U+16139)
guru Цифры Гурмукхи ੦੧੨੩੪੫੬੭੮੯ (U+0A66 по U+0A6F)
hanidays Нумерация дней в месяце иероглифами хань для лунных/других традиционных календарей
hanidec Позиционная десятичная система с использованием китайских идеограмм как цифр 〇一二三四五六七八九 (U+3007, U+4E00, U+4E8C, U+4E09, U+56DB, U+4E94, U+516D, U+4E03, U+516B, U+4E5D)
hans Упрощенные китайские цифры алгоритмические
hansfin Упрощенные китайские финансовые цифры алгоритмические
hant Традиционные китайские цифры алгоритмические
hantfin Традиционные китайские финансовые цифры алгоритмические
hebr Еврейские цифры алгоритмические
hmng Цифры Пахау Хмонг 𖭐𖭑𖭒𖭓𖭔𖭕𖭖𖭗𖭘𖭙 (U+16B50 по U+16B59)
hmnp Цифры Ньякенг Пуачуэ Хмонг 𞅀𞅁𞅂𞅃𞅄𞅅𞅆𞅇𞅈𞅉 (U+1E140 по U+1E149)
java Яванские цифры ꧐꧑꧒꧓꧔꧕꧖꧗꧘꧙ (U+A9D0 по U+A9D9)
jpan Японские цифры алгоритмические
jpanfin Японские финансовые цифры алгоритмические
jpanyear Японская нумерация первого года Gannen для японского календаря алгоритмические
kali Цифры Кая Ли ꤀꤁꤂꤃꤄꤅꤆꤇꤈꤉ (U+A900 по U+A909)
kawi Цифры Кави 𑽐𑽑𑽒𑽓𑽔𑽕𑽖𑽗𑽘𑽙 (U+11F50 по U+11F59)
khmr Кхмерские цифры ០១២៣៤៥៦៧៨៩ (U+17E0 по U+17E9)
knda Каннада цифры ೦೧೨೩೪೫೬೭೮೯ (U+0CE6 по U+0CEF)
krai Цифры Кират Рай 𖵰𖵱𖵲𖵳𖵴𖵵𖵶𖵷𖵸𖵹 (U+16D70 по U+16D79)
lana Цифры Тай Там Хора (светские) ᪀᪁᪂᪃᪄᪅᪆᪇᪈᪉ (U+1A80 по U+1A89)
lanatham Цифры Тай Там (церковные) ᪐᪑᪒᪓᪔᪕᪖᪗᪘᪙ (U+1A90 по U+1A99)
laoo Лаосские цифры ໐໑໒໓໔໕໖໗໘໙ (U+0ED0 по U+0ED9)
latn Латинские цифры 0123456789 (U+0030 по U+0039)
lepc Цифры Лепча ᱀᱁᱂᱃᱄᱅᱆᱇᱈᱉ (U+1C40 по U+1C49)
limb Цифры Лимбу ᥆᥇᥈᥉᥊᥋᥌᥍᥎᥏ (U+1946 по U+194F)
mathbold Математические цифры жирным шрифтом 𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗 (U+1D7CE по U+1D7D7)
mathdbl Математические цифры с двойной штриховкой 𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡 (U+1D7D8 по U+1D7E1)
mathmono Математические моноширинные цифры 𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿 (U+1D7F6 по U+1D7FF)
mathsanb Математические гротескные цифры жирным шрифтом 𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵 (U+1D7EC по U+1D7F5)
mathsans Математические гротескные цифры 𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫 (U+1D7E2 по U+1D7EB)
mlym Малаяламские цифры ൦൧൨൩൪൫൬൭൮൯ (U+0D66 по U+0D6F)
modi Цифры Моди 𑙐𑙑𑙒𑙓𑙔𑙕𑙖𑙗𑙘𑙙 (U+11650 по U+11659)
mong Монгольские цифры ᠐᠑᠒᠓᠔᠕᠖᠗᠘᠙ (U+1810 по U+1819)
mroo Цифры Мро 𖩠𖩡𖩢𖩣𖩤𖩥𖩦𖩧𖩨𖩩 (U+16A60 по U+16A69)
mtei Цифры Митей Маек ꯰꯱꯲꯳꯴꯵꯶꯷꯸꯹ (U+ABF0 по U+ABF9)
mymr Бирманские цифры ၀၁၂၃၄၅၆၇၈၉ (U+1040 по U+1049)
mymrepka Бирманские цифры Карен Восточного Пво 𑛚𑛛𑛜𑛝𑛞𑛟𑛠𑛡𑛢𑛣 (U+116DA по U+116E3)
mymrpao Бирманские цифры Пао 𑛐𑛑𑛒𑛓𑛔𑛕𑛖𑛗𑛘𑛙 (U+116D0 по U+116D9)
mymrshan Бирманские цифры Шан ႐႑႒႓႔႕႖႗႘႙ (U+1090 по U+1099)
mymrtlng Бирманские цифры Тай Лаинг ꧰꧱꧲꧳꧴꧵꧶꧷꧸꧹ (U+A9F0 по U+A9F9)
nagm Цифры Наг Мундари 𞓰𞓱𞓲𞓳𞓴𞓵𞓶𞓷𞓸𞓹 (U+1E4F0 по U+1E4F9)
newa Цифры Ньюари 𑑐𑑑𑑒𑑓𑑔𑑕𑑖𑑗𑑘𑑙 (U+11450 по U+11459)
nkoo Цифры Нко ߀߁߂߃߄߅߆߇߈߉ (U+07C0 по U+07C9)
olck Цифры Ол Чики ᱐᱑᱒᱓᱔᱕᱖᱗᱘᱙ (U+1C50 по U+1C59)
onao Цифры Ол Ональ 𞗱𞗲𞗳𞗴𞗵𞗶𞗷𞗸𞗹𞗺 (U+1E5F1 по U+1E5FA)
orya Ория цифры ୦୧୨୩୪୫୬୭୮୯ (U+0B66 по U+0B6F)
osma Цифры Османского алфавита 𐒠𐒡𐒢𐒣𐒤𐒥𐒦𐒧𐒨𐒩 (U+104A0 по U+104A9)
outlined Устаревшие контурные цифры для вычислительной техники 𜳰𜳱𜳲𜳳𜳴𜳵𜳶𜳷𜳸𜳹 (U+1CCF0 по U+1CCF9)
rohg Цифры Ханифи Рохинджа 𐴰𐴱𐴲𐴳𐴴𐴵𐴶𐴷𐴸𐴹 (U+10D30 по U+10D39)
roman Римские цифры в верхнем регистре алгоритмические
romanlow Римские цифры в нижнем регистре алгоритмические
saur Цифры Саураштра ꣐꣑꣒꣓꣔꣕꣖꣗꣘꣙ (U+A8D0 по U+A8D9)
segment Устаревшие сегментированные цифры для вычислительной техники 🯰🯱🯲🯳🯴🯵🯶🯷🯸🯹 (U+1FBF0 по U+1FBF9)
shrd Цифры Шарада 𑇐𑇑𑇒𑇓𑇔𑇕𑇖𑇗𑇘𑇙 (U+111D0 по U+111D9)
sind Цифры Худавади 𑋰𑋱𑋲𑋳𑋴𑋵𑋶𑋷𑋸𑋹 (U+112F0 по U+112F9)
sinh Цейлонские цифры (Сингала) ෦෧෨෩෪෫෬෭෮෯ (U+0DE6 по U+0DEF)
sora Цифры Сора Сомпенг 𑃰𑃱𑃲𑃳𑃴𑃵𑃶𑃷𑃸𑃹 (U+110F0 по U+110F9)
sund Яванские цифры ᮰᮱᮲᮳᮴᮵᮶᮷᮸᮹ (U+1BB0 по U+1BB9)
sunu Цифры Сунувар 𑯰𑯱𑯲𑯳𑯴𑯵𑯶𑯷𑯸𑯹 (U+11BF0 по U+11BF9)
takr Цифры Такри 𑛀𑛁𑛂𑛃𑛄𑛅𑛆𑛇𑛈𑛉 (U+116C0 по U+116C9)
talu Цифры Нового Тай Луэ ᧐᧑᧒᧓᧔᧕᧖᧗᧘᧙ (U+19D0 по U+19D9)
taml Тамильские цифры алгоритмические
tamldec Современные тамильские десятичные цифры ௦௧௨௩௪௫௬௭௮௯ (U+0BE6 по U+0BEF)
telu Телугу цифры ౦౧౨౩౪౫౬౭౮౯ (U+0C66 по U+0C6F)
thai Тайские цифры ๐๑๒๓๔๕๖๗๘๙ (U+0E50 по U+0E59)
tibt Тибетские цифры ༠༡༢༣༤༥༦༧༨༩ (U+0F20 по U+0F29)
tirh Цифры Тирхута 𑓐𑓑𑓒𑓓𑓔𑓕𑓖𑓗𑓘𑓙 (U+114D0 по U+114D9)
tnsa Цифры Тангса 𖫀𖫁𖫂𖫃𖫄𖫅𖫆𖫇𖫈𖫉 (U+16AC0 по U+16AC9)
vaii Цифры Ваи ꘠꘡꘢꘣꘤꘥꘦꘧꘨꘩ (U+A620 по U+A629)
wara Цифры Варанг Сити 𑣠𑣡𑣢𑣣𑣤𑣥𑣦𑣧𑣨𑣩 (U+118E0 по U+118E9)
wcho Цифры Ванчо 𞋰𞋱𞋲𞋳𞋴𞋵𞋶𞋷𞋸𞋹 (U+1E2F0 по U+1E2F9)

Существует три специальных значения: native, traditio и finance, значения которых зависят от локали и будут разрешены в правильную систему в зависимости от локали. Следовательно, методы resolvedOptions() никогда не будут возвращать эти значения, но Intl.Locale.prototype.numberingSystem будет (если они предоставлены в качестве входных данных).

Ссылки:

  • Ключи типов систем счисления CLDR
  • Определения систем счисления CLDR
  • UTS 35, Системы счисления

Поддерживаемые идентификаторы часовых поясов

Поддерживаемые идентификаторы часовых поясов могут использоваться для опции timeZone при создании таких объектов, как Intl.DateTimeFormat, а также для создания Temporal объектов даты. Существует более 400 широко используемых идентификаторов, поэтому мы не будем их перечислять. Исчерпывающий список возможных идентификаторов см. в статье в Википедии или в базе данных часовых поясов IANA.

При просмотре списка обратите внимание, что стандартизация Temporal требует, чтобы браузеры всегда возвращали основной идентификатор из базы данных IANA, который может меняться со временем. Подробнее см. часовые пояса и смещения. Например, возвращаемый массив должен содержать "Asia/Kolkata" вместо "Asia/Calcutta", поскольку последнее является псевдонимом первого и оба соответствуют Индии; однако он должен содержать как "Africa/Abidjan", так и "Atlantic/Reykjavik", поскольку они находятся в разных странах, несмотря на то, что последнее также является псевдонимом первого.

Ссылки:

  • База данных часовых поясов IANA
  • UTS 35, Идентификаторы часовых поясов

Поддерживаемые идентификаторы единиц измерения

Ниже приведены все значения, которые обычно поддерживаются браузерами для ключа unit. Эти значения могут использоваться для параметра unit при создании объектов, таких как Intl.NumberFormat. Этот список является подмножеством CLDR, явно санкционированным спецификацией ECMA-402, поэтому все реализации должны быть согласованными.

  • acre
  • bit
  • byte
  • celsius
  • centimeter
  • day
  • degree
  • fahrenheit
  • fluid-ounce
  • foot
  • gallon
  • gigabit
  • gigabyte
  • gram
  • hectare
  • hour
  • inch
  • kilobit
  • kilobyte
  • kilogram
  • kilometer
  • liter
  • megabit
  • megabyte
  • meter
  • microsecond
  • mile
  • mile-scandinavian
  • milliliter
  • millimeter
  • millisecond
  • minute
  • month
  • nanosecond
  • ounce
  • percent
  • petabyte
  • pound
  • second
  • stone
  • terabit
  • terabyte
  • week
  • yard
  • year

При указании единиц измерения можно также объединять две единицы с разделителем "-per-". Например, meter-per-second или liter-per-megabyte.

Ссылки:

  • ECMA-402 санкционированные единицы
  • Данные валидности единиц CLDR
  • UTS 35, Идентификаторы единиц измерения

Исключения

RangeError
Выбрасывается, если в качестве параметра был передан неподдерживаемый ключ.

Примеры

Тестирование функций

Вы можете проверить, что метод поддерживается, сравнив его с undefined:

if (typeof Intl.supportedValuesOf !== "undefined") {
  // method is supported
}

Получить все значения для ключа

Чтобы получить поддерживаемые значения для календаря, вы вызываете метод с ключом "calendar". Затем вы можете перебирать возвращаемый массив, как показано ниже:

Intl.supportedValuesOf("calendar").forEach((calendar) => {
  // "buddhist", "chinese", "coptic", "dangi", etc.
});

Остальные значения получаются таким же образом:

Intl.supportedValuesOf("collation").forEach((collation) => {
  // "compat", "dict", "emoji", etc.
});

Intl.supportedValuesOf("currency").forEach((currency) => {
  // "ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", etc.
});

Intl.supportedValuesOf("numberingSystem").forEach((numberingSystem) => {
  // "adlm", "ahom", "arab", "arabext", "bali", etc.
});

Intl.supportedValuesOf("timeZone").forEach((timeZone) => {
  // "Africa/Abidjan", "Africa/Accra", "Africa/Addis_Ababa", "Africa/Algiers", etc.
});

Intl.supportedValuesOf("unit").forEach((unit) => {
  // "acre", "bit", "byte", "celsius", "centimeter", etc.
});

Недопустимый ключ вызывает RangeError

try {
  Intl.supportedValuesOf("someInvalidKey");
} catch (err) {
  // RangeError: invalid key: "someInvalidKey"
}

Спецификации

Спецификация
Спецификация API интернационализации ECMAScript® 2027
# sec-intl.supportedvaluesof

Совместимость с браузерами

Настольные компьютеры Мобильные устройства Сервер
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS Bun Deno Node.js
supportedValuesOf
99
99
93
85
15.4
99
93
68
15.4
18.0
99
15.4
1.0.0
1.19
18.0.0
key_parameter_calendar
99
99
93
85
15.4
99
93
68
15.4
18.0
99
15.4
1.0.0
1.19
18.0.0
key_parameter_collation
99
99
93
85
15.4
99
93
68
15.4
18.0
99
15.4
1.0.0
1.19
18.0.0
key_parameter_currency
99
99
93
85
15.4
99
93
68
15.4
18.0
99
15.4
1.0.0
1.19
18.0.0
key_parameter_numberingSystem
99
99
93
85
15.4
99
93
68
15.4
18.0
99
15.4
1.0.0
1.19
18.0.0
key_parameter_timeZone
99
99
93
85
15.4
99
93
68
15.4
18.0
99
15.4
1.0.0
1.19
18.0.0
key_parameter_unit
99
99
93
85
15.4
99
93
68
15.4
18.0
99
15.4
1.0.0
1.19
18.0.0

См. также

  • Polyfill для Intl.supportedValuesOf в FormatJS
  • Intl

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/supportedValuesOf

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API