Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 MethodeString.fromCodePoint() gibt einen String zurück, der aus der angegebenen Sequenz von Codepunkten erstellt wurde.
In diesem Artikel
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, …,numNEine ganze Zahl zwischen
0und0x10FFFF(einschließlich) repräsentiert einen Unicode-Codepunkt.
Rückgabewert
Ein String, der unter Verwendung der angegebenen Sequenz von Codepunkten erstellt wurde.
Ausnahmen
RangeErrorWird ausgelöst, wenn
numNkeine ganze Zahl ist, kleiner als0oder größer als0x10FFFFnach der Konvertierung in eine Zahl ist.
Beschreibung
DafromCodePoint() eine statische Methode vonString ist, verwenden Sie sie immer alsString.fromCodePoint(), anstatt sie als Methode eines von Ihnen erstelltenString-Werts zu verwenden.
Unicode-Codepunkte reichen von0 bis1114111 (0x10FFFF). In UTF-16 ist jeder String-Index eine Codeeinheit mit dem Wert0 –65535. Höhere Codepunkte werden durchein Paar von 16-Bit-Surrogat-Pseudo-Zeichen dargestellt. Daher kannfromCodePoint() einen String zurückgeben, dessenLänge (in UTF-16-Codeeinheiten) größer ist als die Anzahl der übergebenen Argumente. Weitere Informationen zu Unicode finden Sie unterUTF-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("_"); // RangeErrorString.fromCodePoint(Infinity); // RangeErrorString.fromCodePoint(-1); // RangeErrorString.fromCodePoint(3.14); // RangeErrorString.fromCodePoint(3e-2); // RangeErrorString.fromCodePoint(NaN); // RangeErrorIm Vergleich zu fromCharCode()
String.fromCharCode() kann keine ergänzenden Zeichen (d.h. Codepunkte0x010000 –0x10FFFF) zurückgeben, indem deren Codepunkt angegeben wird. Stattdessen erfordert es das UTF-16-Surrogatpaar, um ein ergänzendes Zeichen zurückzugeben:
String.fromCharCode(0xd83c, 0xdf03); // Code Point U+1F303 "Night withString.fromCharCode(55356, 57091); // Stars" === "\uD83C\uDF03"String.fromCodePoint() hingegen kann 4-Byte-Ergänzungszeichen sowie die häufigeren 2-Byte-BMP-Zeichen zurückgeben, indem ihr Codepunkt angegeben wird (was der UTF-32-Codeeinheit entspricht):
String.fromCodePoint(0x1f303); // or 127747 in decimalSpezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-string.fromcodepoint> |