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 erhält einen Code und gibt einen String basierend auf der beim Erstellen dieses Intl.DisplayNames
Objekts angegebenen Locale und Options 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 bereitzustellende
code
hängt vomtype
ab:- Ist der Typ "region", sollte
code
entweder ein zwei-buchstabiger ISO 3166 Regions-Code oder ein drei-stelliger UN M49 geografischer Regionencode sein. Es muss derunicode_region_subtag
Grammatik folgen. Verwenden Sie Großbuchstabencodes (z. B."US"
), da Kleinbuchstabencodes (z. B."us"
) möglicherweise nicht überall zuverlässig funktionieren. - Ist der Typ "script", sollte
code
ein vier-buchstabiger ISO 15924 Schreibschrift-Code sein. Es muss derunicode_script_subtag
Grammatik folgen. - Ist der Typ "language", sollte
code
demunicode_language_id
Nonterminal entsprechen. - Ist der Typ "currency", sollte
code
ein drei-buchstabiger ISO 4217 Währungscode sein. Es ist erforderlich, dass es genau drei alphabetische Zeichen enthält. - Ist der Typ "dateTimeField", sollte
code
einer der folgenden sein:"era"
,"year"
,"quarter"
,"month"
,"weekOfYear"
,"weekday"
,"day"
,"dayPeriod"
,"hour"
,"minute"
,"second"
,"timeZoneName"
. - Ist der Typ "calendar", sollte
code
ein Kalender-Schlüssel sein. Es muss dertype
Grammatik eines Unicode-Locale-Identifiers folgen.
- Ist der Typ "region", sollte
Rückgabewert
Ein sprachspezifisch formatierter String oder undefined
, wenn keine Daten für die Eingabe vorhanden sind und fallback
auf "none"
gesetzt ist.
Note:
fallback
wird nur verwendet, wenncode
strukturell gültig ist. Siehe using fallback.
Ausnahmen
RangeError
-
Wird ausgelöst, wenn
code
für den gegebenentype
strukturell ungültig ist.
Beispiele
Verwendung der Methode 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"
Verwendung von Fallback
Wenn Intl.DisplayNames
mit fallback: "code"
erstellt wurde, wird die of()
-Methode den code
zurückgeben, wenn die Eingabe strukturell gültig aussieht, aber keine Daten für die Eingabe vorhanden sind. Ist fallback
auf "none"
gesetzt, 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 der type
"region"
ist, aber code
nicht der unicode_region_subtag
Grammatik folgt (2 alphabetische Zeichen oder 3 numerische Zeichen), wird direkt ein RangeError
geworfen, 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 |