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 statische Methode String.fromCodePoint() 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

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

Parameter

num1, …, numN

Eine Ganzzahl zwischen 0 und 0x10FFFF (einschließlich), die einen Unicode-Codepunkt darstellt.

Rückgabewert

Ein String, der mit der angegebenen Sequenz von Codepunkten erstellt wurde.

Ausnahmen

RangeError

Wird ausgelöst, wenn numN keine Ganzzahl ist, kleiner als 0 ist oder größer als 0x10FFFF ist, nachdem sie in eine Zahl umgewandelt wurde.

Beschreibung

Da fromCodePoint() eine statische Methode von String ist, wird sie immer als String.fromCodePoint() verwendet und nicht als Methode eines von Ihnen erstellten String-Werts.

Unicode-Codepunkte reichen von 0 bis 1114111 (0x10FFFF). In UTF-16 ist jeder String-Index eine Codeeinheit mit dem Wert 065535. Höhere Codepunkte werden durch ein Paar 16-Bit-Surrogat-Pseudoelemente dargestellt. Daher kann fromCodePoint() einen String zurückgeben, dessen length (in UTF-16-Codieinheiten) größer ist als die Anzahl der übergebenen Argumente. Für Informationen zu Unicode siehe UTF-16-Zeichen, Unicode-Codepunkte und Graphem-Cluster.

Beispiele

Verwendung von fromCodePoint()

Gültige Eingabe:

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"

Ungültige Eingabe:

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

Verglichen mit fromCharCode()

String.fromCharCode() kann keine zusätzlichen Zeichen (d.h. Codepunkte 0x0100000x10FFFF) durch Angabe ihres Codepunkts zurückgeben. Stattdessen erfordert es das UTF-16-Surrogatpaar, um ein zusätzliches Zeichen zurückzugeben:

js
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äufiger vorkommenden 2-Byte-BMP-Zeichen zurückgeben, indem ihr Codepunkt angegeben wird (was einer UTF-32-Codieinheit entspricht):

js
String.fromCodePoint(0x1f303); // or 127747 in decimal

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-string.fromcodepoint

Browser-Kompatibilität

Siehe auch