Intl.DisplayNames.prototype.of()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
Die of() Methode von Intl.DisplayNames Instanzen nimmt einen Code entgegen und gibt einen Zeichenkettenwert zurück, basierend auf der beim Erstellen des Intl.DisplayNames Objekts angegebenen Lokale und Optionen.
Probieren Sie es aus
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: "美國"
Syntax
of(code)
Parameter
code-
Der zu übergebende
codehängt vomtypeab:- Wenn der Typ "region" ist, sollte
codeentweder ein zwei-Buchstaben-ISO-3166 Regionscode oder ein drei-stelliger UN M49 geografischer Regionencode sein. Es muss derunicode_region_subtagGrammatik folgen. Verwenden Sie Großbuchstabencodes (z.B."US"), da Kleinbuchstabencodes (z.B."us") nicht überall zuverlässig funktionieren könnten. - Wenn der Typ "script" ist, sollte
codeein vier-Buchstaben-ISO-15924 Schriftcode sein. Es muss derunicode_script_subtagGrammatik folgen. - Wenn der Typ "language" ist, sollte
codevomunicode_language_idNichtterminal übereinstimmen. - Wenn der Typ "currency" ist, sollte
codeein drei-Buchstaben-ISO-4217 Währungscode sein. Es muss genau drei alphabetische Zeichen haben. - Wenn der Typ "dateTimeField" ist, sollte
codeeiner der folgenden sein:"era","year","quarter","month","weekOfYear","weekday","day","dayPeriod","hour","minute","second","timeZoneName". - Wenn der Typ "calendar" ist, sollte
codeein Kalender-Schlüssel sein. Es muss dertypeGrammatik eines Unicode-Locale-Identifiers folgen.
- Wenn der Typ "region" ist, sollte
Rückgabewert
Ein sprachspezifisch formatierter String oder undefined, falls keine Daten für die Eingabe verfügbar sind und fallback auf "none" gesetzt ist.
Hinweis:
fallback wird nur verwendet, wenn code strukturell gültig ist. Siehe Verwendung von Fallback.
Ausnahmen
RangeError-
Wird ausgelöst, wenn
codefür den gegebenentypenicht strukturell gültig ist.
Beispiele
>Verwendung der of-Methode
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"
Verwendung von Fallback
Wenn Intl.DisplayNames mit fallback: "code" konstruiert wird, gibt die of() Methode den code zurück, wenn die Eingabe strukturell gültig aussieht, aber keine Daten für die Eingabe vorhanden sind. Wenn fallback "none" ist, wird undefined zurückgegeben.
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
Dies gilt jedoch nur, wenn der code strukturell gültig ist. Zum Beispiel, wenn type "region" ist, aber code nicht der unicode_region_subtag Grammatik folgt (2 alphabetische Zeichen oder 3 numerische Zeichen), wird direkt ein RangeError ausgelöst, anstatt den Fallback zu verwenden.
console.log(
new Intl.DisplayNames("en", { type: "region", fallback: "code" }).of("ZLC"),
); // throws RangeError: invalid value "ZLC" for option region
Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # sec-Intl.DisplayNames.prototype.of> |
Browser-Kompatibilität
Loading…