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 der Intl.DisplayNames
Instanzen nimmt einen Code entgegen und gibt einen String basierend auf der beim Instanziieren dieses Intl.DisplayNames
-Objekts bereitgestellten Locale und Optionen zurück.
Probieren Sie es aus
Syntax
of(code)
Parameter
code
-
Der bereitzustellende
code
hängt vomtype
ab:- Wenn der Typ "region" ist, sollte
code
entweder ein zwei-Buchstaben-ISO 3166 Regionscode oder ein drei-Ziffern-UN M49 geografischer Region sein. Er muss der Grammatik desunicode_region_subtag
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
code
ein vier-Buchstaben-ISO 15924 Skriptcode sein. Er muss der Grammatik desunicode_script_subtag
folgen. - Wenn der Typ "language" ist, sollte
code
demunicode_language_id
Nichtterminal entsprechen. - Wenn der Typ "currency" ist, sollte
code
ein drei-Buchstaben-ISO 4217 Währungscode sein. Er muss genau drei alphabetische Zeichen haben. - 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. Er muss dertype
Grammatik eines Unicode-Locale-Identifiers 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
auf "none"
gesetzt ist.
Note:
fallback
wird nur verwendet, wenncode
strukturell gültig ist. Siehe Benutzung des Fallbacks.
Ausnahmen
RangeError
-
Wird ausgelöst, wenn
code
für den gegebenentype
strukturell nicht 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 des Fallbacks
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
auf "none"
gesetzt 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. Beispielsweise, 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 Internationalization API Specification # sec-Intl.DisplayNames.prototype.of |
Browser-Kompatibilität
BCD tables only load in the browser