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 Methode of()
von Intl.DisplayNames
-Instanzen nimmt einen Code entgegen und gibt eine Zeichenkette basierend auf der beim Erstellen dieses Intl.DisplayNames
-Objekts angegebenen Sprache und Optionen zurück.
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
code
, der angegeben werden muss, hängt vomtype
ab:- Wenn der Typ "region" ist, sollte
code
entweder ein zwei-buchstabiger ISO 3166-Regionen-Code oder ein drei-stelliger UN M49 geografischer Code sein. Er muss der Grammatik desunicode_region_subtag
folgen. Verwenden Sie Großbuchstaben-Codes (z. B."US"
), da Kleinbuchstaben (z. B."us"
) möglicherweise nicht überall zuverlässig funktionieren. - Wenn der Typ "script" ist, sollte
code
ein vier-buchstabiger ISO 15924-Schriftart-Code sein. Er muss der Grammatik desunicode_script_subtag
folgen. - Wenn der Typ "language" ist, sollte
code
mit derunicode_language_id
Nichtterminal übereinstimmen. - Wenn der Typ "currency" ist, sollte
code
ein drei-buchstabiger ISO 4217-Währungscode sein. Er muss genau drei alphabetische Zeichen enthalten. - Wenn der Typ "dateTimeField" ist, sollte
code
einer der folgenden Werte sein:"era"
,"year"
,"quarter"
,"month"
,"weekOfYear"
,"weekday"
,"day"
,"dayPeriod"
,"hour"
,"minute"
,"second"
,"timeZoneName"
. - Wenn der Typ "calendar" ist, sollte
code
ein Kalenderschlüssel sein. Er muss dertype
-Grammatik eines Unicode-Sprachbezeichners folgen.
- Wenn der Typ "region" ist, sollte
Rückgabewert
Eine sprachspezifisch formatierte Zeichenkette oder undefined
, wenn keine Daten für die Eingabe vorhanden sind und fallback
den Wert "none"
hat.
Hinweis: fallback
wird nur verwendet, wenn code
strukturell gültig ist. Siehe Verwendung von Fallback.
Ausnahmen
RangeError
-
Wird ausgelöst, wenn
code
für den angegebenentype
strukturell ungültig ist.
Beispiele
Die Methode of verwenden
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"
erstellt wurde, gibt die Methode of()
den code
zurück, wenn die Eingabe strukturell gültig aussieht, aber keine Daten für die Eingabe vorhanden sind. Hat fallback
den Wert "none"
, 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 code
strukturell gültig ist. Wenn zum Beispiel type
"region"
ist, aber code
nicht der Grammatik des unicode_region_subtag
(2 alphabetische Zeichen oder 3 numerische Zeichen) entspricht, wird ein RangeError
direkt 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® 2025 Internationalization API Specification # sec-Intl.DisplayNames.prototype.of |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
of |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support