JavaScript

String.fromCodePoint() メソッド

 編集:2022.07.31 by T.A.

指定されたコード ポイントのシーケンスを使って生成された文字列を返します。

string=String.fromCodePoint(num1[, ...[, numN]])
numn コード ポイントのシーケンスです。
戻り値

指定されたコード ポイントのシーケンスを使って生成された文字列です。String。

例外

無効な Unicode コード ポイントを与えられた場合、RangeError(例: "RangeError: NaN is not a valid code point")がスローされます。

解説

このメソッドは String オブジェクトではなく文字列を返します。

fromCodePoint() メソッドは String の静的なメソッドなので、自ら生成した String オブジェクトのメソッドとしてではなく、常に String.fromCodePoint() として使用してください。

fromCodePoint() を使う
D=String.fromCodePoint(42);       //="*"
D=String.fromCodePoint(65, 90);   //="AZ"
D=String.fromCodePoint(0x404);    //="\u0404"
D=String.fromCodePoint(0x2F804);  //="\uD87E\uDC04"
D=String.fromCodePoint(194564);   //="\uD87E\uDC04"
D=String.fromCodePoint(0x1D306, 0x61, 0x1D307) //="\uD834\uDF06a\uD834\uDF07"

D=String.fromCodePoint('_');      // RangeError
D=String.fromCodePoint(Infinity); // RangeError
D=String.fromCodePoint(-1);       // RangeError
D=String.fromCodePoint(3.14);     // RangeError
D=String.fromCodePoint(3e-2);     // RangeError
D=String.fromCodePoint(NaN);      // RangeError

String.fromCharCode() だけでは、このような高いコード ポイントの文字を取得でず、一方で、通常の 2 バイト文字と同様に 4 バイト文字を返すことができます(つまり、実際には文字列の長さが 1 ではなく 2 である単一の文字を返すことができます。)

D=String.fromCodePoint(0x2F804); //="你"。10進では 194564。

テスト