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.
Die String.fromCodePoint()
statische Methode gibt einen String zurück, der aus der angegebenen Sequenz von Codepunkten erstellt wurde.
Probieren Sie es aus
console.log(String.fromCodePoint(9731, 9733, 9842, 0x2f804));
// Expected output: "☃★♲你"
Syntax
String.fromCodePoint()
String.fromCodePoint(num1)
String.fromCodePoint(num1, num2)
String.fromCodePoint(num1, num2, /* …, */ numN)
Parameter
num1
, …,numN
-
Eine Ganzzahl zwischen
0
und0x10FFFF
(einschließlich), die einen Unicode-Codepunkt darstellt.
Rückgabewert
Ein String, der unter Verwendung der angegebenen Sequenz von Codepunkten erstellt wurde.
Ausnahmen
RangeError
-
Wird ausgelöst, wenn
numN
keine Ganzzahl ist, kleiner als0
ist oder größer als0x10FFFF
ist, nachdem sie in eine Zahl umgewandelt wurde.
Beschreibung
Da fromCodePoint()
eine statische Methode von String
ist, verwendet man sie immer als String.fromCodePoint()
, anstatt als Methode eines erstellten String
-Wertes.
Unicode-Codepunkte reichen von 0
bis 1114111
(0x10FFFF
). In UTF-16 ist jeder String-Index eine Codeeinheit mit einem Wert von 0
– 65535
. Höhere Codepunkte werden durch ein Paar von 16-Bit-Surrogat-Pseudozahlen dargestellt. Daher kann fromCodePoint()
einen String zurückgeben, dessen length
(in UTF-16-Codeeinheiten) größer ist als die Anzahl der übergebenen Argumente. Für Informationen über Unicode, siehe UTF-16-Zeichen, Unicode-Codepunkte und Graphem-Cluster.
Beispiele
Verwendung von fromCodePoint()
Gültige Eingabe:
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"
Ungültige Eingabe:
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
Vergleich mit fromCharCode()
String.fromCharCode()
kann keine zusätzlichen Zeichen (d. h. Codepunkte 0x010000
– 0x10FFFF
) durch Angabe ihres Codepunkts zurückgeben. Stattdessen erfordert es das UTF-16-Surrogatpaar, um ein zusätzliches Zeichen zurückzugeben:
String.fromCharCode(0xd83c, 0xdf03); // Code Point U+1F303 "Night with
String.fromCharCode(55356, 57091); // Stars" === "\uD83C\uDF03"
String.fromCodePoint()
hingegen kann 4-Byte-Zusatzzeichen sowie die häufigeren 2-Byte-BMP-Zeichen durch Angabe ihres Codepunkts (was einer UTF-32-Codeeinheit entspricht) zurückgeben:
String.fromCodePoint(0x1f303); // or 127747 in decimal
Spezifikationen
Specification |
---|
ECMAScript® 2025 Language Specification # sec-string.fromcodepoint |
Browser-Kompatibilität
BCD tables only load in the browser