Intl.DisplayNames : méthode of()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis avril 2021.
La méthode of() des instances de Intl.DisplayNames reçoit un code et retourne une chaîne de caractères selon la locale et les options définies lors de l'instanciation de cet objet Intl.DisplayNames.
Exemple interactif
const regionNamesInEnglish = new Intl.DisplayNames(['en'], { type: 'region' });
const regionNamesInTraditionalChinese = new Intl.DisplayNames(['zh-Hant'], {
type: 'region',
});
console.log(regionNamesInEnglish.of('US'));
// Résultat attendu : "United States"
console.log(regionNamesInTraditionalChinese.of('US'));
// Résultat attendu : "美國"
Syntaxe
of(code)
Paramètres
code-
Le
codeà fournir dépend dutype:- Si le type est une « région »,
codedoit être soit un code de région ISO 3166 à deux lettres (angl.), soit un code de région géographique UN M49 à trois chiffres (angl.). Il est nécessaire de suivre la grammaireunicode_region_subtag(angl.). Utilisez des codes en majuscules (par exemple,"US"), car les codes en minuscules (par exemple,"us") peuvent ne pas fonctionner de manière fiable partout. - Si le type est un « script »,
codedoit être un code de script ISO 15924 à quatre lettres (angl.). Il est nécessaire de suivre la grammaireunicode_script_subtag(angl.). - Si le type est une « langue », le
codedoit correspondre au non-terminalunicode_language_id. - Si le type est une valeur « monétaire », le
codedoit être un code de devise 4217 à trois lettres (angl.). Il doit comporter exactement trois caractères alphabétiques. - Si le type est un « champs de date et heure »,
codedoit être l'une des valeurs suivantes :"era","year","quarter","month","weekOfYear","weekday","day","dayPeriod","hour","minute","second","timeZoneName". - Si le type est un « calendrier », le
codedoit être une clé de calendrier. Il doit respecter la grammairetyped'un identifiant de locale Unicode (angl.).
- Si le type est une « région »,
Valeur de retour
Une chaîne de caractères formatée spécifique à une langue, ou undefined s'il n'y a pas de données pour l'entrée et que fallback est "none".
Note :
fallback n'est utilisé que si code est structurellement valide. Voir utiliser une fonction de repli.
Exemples
>Utiliser la méthode 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"
Utiliser une fonction de repli
Quand le Intl.DisplayNames est construit avec fallback: "code", la méthode of() retourne le code si l'entrée est structurellement valide mais qu'aucune donnée n'est disponible pour cette entrée. Si fallback est "none", undefined est retourné.
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
Cependant, cela ne s'applique que si le code est structurellement valide. Par exemple, si type est "region" mais que code ne suit pas la grammaire unicode_region_subtag (2 caractères alphabétiques ou 3 caractères numériques), un RangeError est directement levé au lieu d'utiliser la fonction de repli.
console.log(
new Intl.DisplayNames("en", { type: "region", fallback: "code" }).of("ZLC"),
); // lève RangeError: invalid value "ZLC" for option region
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # sec-Intl.DisplayNames.prototype.of> |
Compatibilité des navigateurs
Voir aussi
- L'objet
Intl.DisplayNames