String.fromCodePoint() は、指定されたコードポイントに対応する文字列を生成する静的メソッドです。このメソッドは、1つ以上のコードポイントを受け取り、それらを文字列に変換します[1]

構文

編集
String.fromCodePoint(...codePoints)
  • ...codePoints: 文字列に変換するコードポイント(複数指定可能)。

単一のコードポイントから文字列を生成するプログラム

編集

以下のプログラムは、String.fromCodePoint() を使用して単一のコードポイントから文字列を生成します。

const str = String.fromCodePoint(9731); // コードポイント 9731 は '☃'(雪だるま)を表す
console.log(str); // "☃"

このプログラムでは、コードポイント 9731 に対応する文字列 "☃" を生成しています。

複数のコードポイントから文字列を生成するプログラム

編集

以下のプログラムは、String.fromCodePoint() を使用して複数のコードポイントから文字列を生成します。

const str = String.fromCodePoint(9731, 9733, 9842); // コードポイント 9731, 9733, 9842 は '☃★♲' を表す
console.log(str); // "☃★♲"

このプログラムでは、複数のコードポイントに対応する文字列 "☃★♲" を生成しています。

無効なコードポイントを指定した場合のプログラム

編集

以下のプログラムは、無効なコードポイントを指定した場合の挙動を示します。

try {
  const str = String.fromCodePoint(0x110000); // 0x110000 は無効なコードポイント
} catch (e) {
  console.log(e); // RangeError: Invalid code point 1114112
}

このプログラムでは、無効なコードポイント 0x110000 を指定しています。この場合、RangeError が発生します。

注意点

編集
  • コードポイントの範囲: String.fromCodePoint() は、コードポイントが 0 から 0x10FFFF の範囲内であることを要求します。範囲外のコードポイントを指定すると、RangeError が発生します。
  • 整数以外の値: コードポイントが整数でない場合、ToNumber によって数値に変換されます。ただし、変換後の値が整数でない場合も RangeError が発生します。
  • 空の引数: 引数が空の場合、String.fromCodePoint() は空の文字列を返します。
  • length プロパティ: String.fromCodePoint 関数の length プロパティは 1 です。これは、この関数が少なくとも1つの引数を期待していることを示します。

脚註

編集
  1. ^ これは、Unicode コードポイントから文字列を生成するために使用されます。

外部リンク

編集