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 dem Gebietsschema und den bereitgestellten Optionen zurück, die beim Instanziieren dieses Intl.DisplayNames
Objekts angegeben wurden.
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 bereitstellende
code
hängt vomtype
ab:- Wenn der Typ "region" ist, sollte
code
entweder ein zweibuchstabiger ISO 3166 Regionscode oder ein dreistelliger UN M49 geografischer Code sein. Es muss der Grammatik desunicode_region_subtag
folgen. Verwenden Sie Großbuchstabencodes (z. B."US"
), da Kleinbuchstabencodes (z. B."us"
) möglicherweise nicht überall zuverlässig funktionieren. - Wenn der Typ "script" ist, sollte
code
ein vierbuchstabiger ISO 15924 Skriptcode sein. Es muss der Grammatik desunicode_script_subtag
folgen. - Wenn der Typ "language" ist, sollte
code
durch dasunicode_language_id
Nonterminal übereinstimmen. - Wenn der Typ "currency" ist, sollte
code
ein dreibuchstabiger ISO 4217 Währungscode sein. Es muss genau drei alphabetische Zeichen enthalten. - Wenn der Typ "dateTimeField" ist, sollte
code
einer der folgenden sein:"era"
,"year"
,"quarter"
,"month"
,"weekOfYear"
,"weekday"
,"day"
,"dayPeriod"
,"hour"
,"minute"
,"second"
,"timeZoneName"
. - Wenn der Typ "calendar" ist, sollte
code
ein Kalenderschlüssel sein. Es muss dertype
Grammatik eines Unicode-Ortsbezeichners folgen.
- Wenn der Typ "region" ist, sollte
Rückgabewert
Ein sprachspezifisch formatierter String oder undefined
, wenn keine Daten für die Eingabe vorhanden sind und fallback
"none"
ist.
Hinweis: fallback
wird nur verwendet, wenn code
strukturell gültig ist. Siehe Verwendung des Fallbacks.
Ausnahmen
RangeError
-
Wird ausgelöst, wenn
code
für den gegebenentype
strukturell ungü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 des Fallbacks
Wenn Intl.DisplayNames
mit fallback: "code"
konstruiert wird, gibt die Methode of()
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 code
strukturell gültig ist. Beispielsweise, wenn type
"region"
ist, aber code
nicht der unicode_region_subtag
Grammatik entspricht (2 alphabetische 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® 2025 Internationalization API Specification # sec-Intl.DisplayNames.prototype.of |