Intl.supportedValuesOf()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
Expérimental: Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.
La méthode Intl.supportedValuesOf()
renvoie un tableau qui contient le calendrier, la collation, la devise, les systèmes de numérations ou les unités prises en charge par l'implémentation.
Les doublons sont omis et le tableau est trié selon l'ordre lexicographique (plus précisément par Array.prototype.sort()
avec undefined
comme fonction de comparaison).
Cette méthode peut être utilisée afin de tester les fonctionnalités prises en charge par une implémentation donnée afin de les surcharger par une prothèse d'implémentation si nécessaire. Elle peut également être utilisée pour construire des interfaces utilisateur permettant aux personnes de choisir leurs préférences pour la localisation (par exemple lorsque l'interface est construite dynamiquement en WebGL ou côté serveur).
Exemple interactif
Syntaxe
Intl.supportedValuesOf(cle);
Paramètres
cle
-
Une clé qui indique la catégorie de valeurs à renvoyer. Il peut s'agir de :
"calendar"
,"collation"
,"currency"
,"numberingSystem"
,"timeZone"
,"unit"
.
Valeur de retour
Un tableau trié, contenant des chaînes de caractères uniques indiquant les valeurs prises en charge par l'implémentation pour la clé demandée.
Exceptions
RangeError
-
Une clé non prise en charge a été passée en paramètre.
Exemples
Test de fonctionnalité
On peut vérifier que la méthode est prise en charge en la comparant à undefined
:
if (typeof Intl.supportedValuesOf !== "undefined") {
// la méthode est prise en charge
}
Obtenir toutes les valeurs d'une clé donnée
Pour obtenir les valeurs prises en charge pour les représentations calendaires, on pourra appeler la méthode avec la clé "calendar"
et parcourir le tableau obtenu :
Intl.supportedValuesOf("calendar").forEach(function (calendar) {
// "buddhist", "chinese", "coptic", "dangi", ...
});
Note : Le tableau renvoyé pour les calendriers contiendra toujours la valeur "gregory" (calendrier grégorien).
Les autres valeurs peuvent être obtenues de la même façon :
Intl.supportedValuesOf("collation").forEach(function (collation) {
// "big5han", "compat", "dict", "emoji", ...
});
Intl.supportedValuesOf("currency").forEach(function (currency) {
// "ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", ...
});
Intl.supportedValuesOf("numberingSystem").forEach(function (numberingSystem) {
// "adlm", "ahom", "arab", "arabext", "bali", ...
});
Intl.supportedValuesOf("timeZone").forEach(function (timeZone) {
// "Africa/Abidjan", "Africa/Accra", "Africa/Addis_Ababa", "Africa/Algiers", ...
});
Intl.supportedValuesOf("unit").forEach(function (unit) {
// "acre", "bit", "byte", "celsius", "centimeter", ...
});
Exception à l'utilisation d'une clé invalide
try {
Intl.supportedValuesOf("uneCleInvalide");
} catch (err) {
// Error: RangeError: invalid key: "uneCleInvalide"
}
Prothèse d'émulation (polyfill)
Spécifications
Specification |
---|
ECMAScript Internationalization API Specification # sec-intl.supportedvaluesof |
Compatibilité des navigateurs
BCD tables only load in the browser