Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

String : méthode statique fromCodePoint()

Baseline
Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2015.

La méthode statique String.fromCodePoint() retourne une chaîne de caractères créée à partir de la séquence définie de points de code.

Exemple interactif

console.log(String.fromCodePoint(9731, 9733, 9842, 0x2f804));
// Résultat attendu : "☃★♲你"

Syntaxe

js
String.fromCodePoint()
String.fromCodePoint(num1)
String.fromCodePoint(num1, num2)
String.fromCodePoint(num1, num2, /* …, */ numN)

Paramètres

num1, …, numN

Un entier compris entre 0 et 0x10FFFF (inclus) représentant un point de code Unicode.

Valeur de retour

Une chaîne de caractères créée à partir de la séquence de points de code définie.

Exceptions

RangeError

Levée si numN n'est pas un entier, est inférieur à 0 ou est supérieur à 0x10FFFF après conversion en nombre.

Description

Étant donné que fromCodePoint() est une méthode statique de String, vous l'utilisez toujours sous la forme String.fromCodePoint(), plutôt qu'en tant que méthode d'une valeur String que vous avez créée.

Les points de code Unicode vont de 0 à 1114111 (0x10FFFF). En UTF-16, chaque indice de chaîne de caractères est une unité de code dont la valeur est comprise entre 0 et 65535. Les points de code supérieurs sont représentés par une paire de pseudo-caractères substituts de 16 bits. Par conséquent, fromCodePoint() peut retourner une chaîne de caractères dont la length (en unités de code UTF-16) est supérieure au nombre d'arguments passés. Pour plus d'informations sur Unicode, voir Caractères UTF-16, points de code Unicode et groupes de graphèmes.

Exemples

Utiliser la méthode fromCodePoint()

Entrées valides :

js
String.fromCodePoint(42); // "*"
String.fromCodePoint(65, 90); // "AZ"
String.fromCodePoint(0x404); // "\u0404" === "Є"
String.fromCodePoint(0x2f804); // "\uD87E\uDC04"
String.fromCodePoint(194564); // "\uD87E\uDC04"
String.fromCodePoint(0x1d306, 0x61, 0x1d307); // "\uD834\uDF06a\uD834\uDF07"

Entrée invalide :

js
String.fromCodePoint("_"); // RangeError
String.fromCodePoint(Infinity); // RangeError
String.fromCodePoint(-1); // RangeError
String.fromCodePoint(3.14); // RangeError
String.fromCodePoint(3e-2); // RangeError
String.fromCodePoint(NaN); // RangeError

Comparer avec fromCharCode()

String.fromCharCode() ne peut pas retourner les caractères supplémentaires (c'est-à-dire les points de code 0x010000 à 0x10FFFF) en définissant leur point de code. Il nécessite plutôt la paire de substituts UTF-16 afin de retourner un caractère supplémentaire :

js
String.fromCharCode(0xd83c, 0xdf03); // Code Point U+1F303 "Nuit avec
String.fromCharCode(55356, 57091); // étoiles" === "\uD83C\uDF03"

String.fromCodePoint(), en revanche, peut retourner les caractères supplémentaires sur 4 octets, ainsi que les caractères BMP plus courants sur 2 octets, en définissant leur point de code (ce qui équivaut à l'unité de code UTF-32) :

js
String.fromCodePoint(0x1f303); // ou 127747 en décimal

Spécifications

Spécification
ECMAScript® 2027 Language Specification
# sec-string.fromcodepoint

Compatibilité des navigateurs

Voir aussi