RangeError: argument is not a valid code point

JavaScript の例外 "Invalid code point" は、 NaN 値、負の整数 (-1)、 整数以外 (5.4)、 0x10FFFF より大きい数 (1114111) が String.fromCodePoint() で使用された場合に発生します。

メッセージ

js
RangeError: {0} is not a valid code point (Firefox)
RangeError: Invalid code point {0} (Chromium)

エラーの種類

エラーの原因

String.fromCodePoint() は、 NaN 値、負の整数 (-1)、 整数以外 (5.4)、 0x10FFFF より大きい数 (1114111) が渡されるとこのエラーを発生します。

コードポイントは、 Unicode 文字集合の値です。これは整数 0 から 0x10FFFF までの範囲です。

無効なケース

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

有効な場合

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"

関連情報