Intl.DisplayNames.prototype.of()
Базовый уровень Широко доступен
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в версиях браузеров. Она доступна во всех браузерах с апреля 2021 года.
Метод of() экземпляров Intl.DisplayNames принимает код и возвращает строку на основе локали и параметров, указанных при создании этого объекта Intl.DisplayNames.
Попробуйте
const regionNamesInEnglish = new Intl.DisplayNames(["en"], { type: "region" });
const regionNamesInTraditionalChinese = new Intl.DisplayNames(["zh-Hant"], {
type: "region",
});
console.log(regionNamesInEnglish.of("US"));
// Expected output: "United States"
console.log(regionNamesInTraditionalChinese.of("US"));
// Expected output: "美國"
Синтаксис
of(code)
Параметры
-
code code, который нужно предоставить, зависит отtype:- Если тип — "region",
codeдолжен быть либо двухбуквенным кодом региона ISO 3166, либо трехзначным географическим кодом региона UN M49. Он должен соответствовать грамматикеunicode_region_subtag. Используйте коды в верхнем регистре (например,"US"), поскольку коды в нижнем регистре (например,"us") могут работать не везде. - Если тип — "script",
codeдолжен быть четырехбуквенным кодом сценария ISO 15924. Он должен соответствовать грамматикеunicode_script_subtag. - Если тип — "language",
codeдолжен соответствовать нетерминалуunicode_language_id. - Если тип — "currency",
codeдолжен быть трехбуквенным кодом валюты ISO 4217. Он должен состоять ровно из трех буквенных символов. - Если тип — "dateTimeField",
codeдолжен быть одним из следующих:"era","year","quarter","month","weekOfYear","weekday","day","dayPeriod","hour","minute","second","timeZoneName". - Если тип — "calendar",
codeдолжен быть ключом календаря. Он должен соответствовать грамматикеtypeидентификатора локали Unicode.
- Если тип — "region",
Возвращаемое значение
Отформатированная строка, зависящая от языка, или undefined, если для входных данных нет информации и fallback равен "none".
Примечание: fallback используется только в том случае, если code имеет допустимую структуру. См. использование резервного варианта.
Исключения
-
RangeError - Выбрасывается, если
codeне имеет допустимой структуры для данногоtype.
Примеры
Использование метода of
const regionNames = new Intl.DisplayNames("en", { type: "region" });
regionNames.of("419"); // "Latin America"
const languageNames = new Intl.DisplayNames("en", { type: "language" });
languageNames.of("fr"); // "French"
const currencyNames = new Intl.DisplayNames("en", { type: "currency" });
currencyNames.of("EUR"); // "Euro"
const languageNamesStandard = new Intl.DisplayNames("fr", {
type: "language",
languageDisplay: "standard",
});
languageNamesStandard.of("fr-CA"); // "français (Canada)"
const languageNamesDialect = new Intl.DisplayNames("fr", {
type: "language",
languageDisplay: "dialect",
});
languageNamesDialect.of("fr-CA"); // "français canadien"
Использование резервного варианта
Когда Intl.DisplayNames создается с помощью fallback: "code", метод of() возвращает code, если входные данные выглядят допустимыми по структуре, но для них нет данных. Если fallback равен "none", возвращается undefined.
console.log(
new Intl.DisplayNames("en", { type: "region", fallback: "code" }).of("ZL"),
); // "ZL"
console.log(
new Intl.DisplayNames("en", { type: "region", fallback: "none" }).of("ZL"),
); // undefined
Однако это применяется только в том случае, если code имеет допустимую структуру. Например, если type равен "region", но code не соответствует грамматике unicode_region_subtag (2 буквенных символа или 3 цифровых символа), вместо использования резервного варианта напрямую выбрасывается RangeError.
console.log(
new Intl.DisplayNames("en", { type: "region", fallback: "code" }).of("ZLC"),
); // throws RangeError: invalid value "ZLC" for option region
Спецификации
| Спецификация |
|---|
| Спецификация ECMAScript® 2027 API интернационализации # sec-Intl.DisplayNames.prototype.of |
Совместимость с браузерами
| Настольные | Мобильные | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari в iOS | Samsung Internet | WebView Android | WebView в iOS | Bun | Deno | Node.js | |
of |
81 |
81 |
86 |
68 |
14.1 |
81 |
86 |
58 |
14.5 |
13.0 |
81 |
14.5 |
1.0.0 |
1.8 |
14.0.0 |
См. также
© 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/DisplayNames/of