String.fromCodePoint()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

La méthode statique String.fromCodePoint() renvoie une chaîne de caractères créée à partir d'un suite de codets.

Exemple interactif

Syntaxe

js
String.fromCodePoint(num1[, ...[, numN]])

Paramètres

num1, ..., numN

Une séquence de codets (code points).

Valeur de retour

Une chaîne de caractères créée à partir de la séquence de codets indiquée.

Exceptions

  • Une exception RangeError est renvoyée si un codet (Unicode) invalide est utilisé (par exemple, on pourra avoir "RangeError: NaN is not a valid code point").

Description

fromCodePoint() étant une méthode statique de String, elle doit toujours être utilisée avec la syntaxe String.fromCodePoint(), plutôt qu'avec une méthode d'un objet String qui aurait été créé.

Exemples

Utiliser fromCodePoint()

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"

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

Comparaison avec fromCharCode()

La méthode String.fromCharCode() ne peut pas renvoyer les caractères de l'intervalle 0x010000 à 0X10FFFF avec un seul codet, il est nécessaire de lui fournir la paire décomposée (surrogate pair) pour obtenr un tel caractère :

js
String.fromCharCode(0xd83c, 0xdf03); // émoji « nuit étoilée »
String.fromCharCode(55356, 57091); // équivalent en notation décimale

String.fromCodePoint(), en revanche, peut renvoyer les caractères qui s'expriment sur plus d'un codet de 16 bits grâce à leur codet « simple » :

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

Spécifications

Specification
ECMAScript Language Specification
# sec-string.fromcodepoint

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi