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

構文

編集
String.fromCharCode(...codeUnits)
  • ...codeUnits: 文字列に変換するコードユニット(複数指定可能)。

単一のコードユニットから文字列を生成するプログラム

編集

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

const str = String.fromCharCode(65); // コードユニット 65 は 'A' を表す
console.log(str); // "A"

このプログラムでは、コードユニット 65 に対応する文字列 "A" を生成しています。

複数のコードユニットから文字列を生成するプログラム

編集

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

const str = String.fromCharCode(72, 69, 76, 76, 79); // コードユニット 72, 69, 76, 76, 79 は 'HELLO' を表す
console.log(str); // "HELLO"

このプログラムでは、複数のコードユニットに対応する文字列 "HELLO" を生成しています。

サロゲートペアを使用した文字列生成のプログラム

編集

以下のプログラムは、サロゲートペアを使用してサロゲートペアが必要な文字を生成します。

// サロゲートペアを使用して '😊' (U+1F60A) を生成
const highSurrogate = 0xD83D; // 上位サロゲート
const lowSurrogate = 0xDE0A;  // 下位サロゲート
const str = String.fromCharCode(highSurrogate, lowSurrogate);
console.log(str); // "😊"

このプログラムでは、サロゲートペアを使用して、1つのコードユニットでは表現できない文字 "😊" を生成しています。

注意点

編集
  • コードユニットの範囲: String.fromCharCode() は、コードユニットが 0 から 0xFFFF の範囲内であることを想定しています。範囲外の値は、ToUint16 によって 16 ビットの符号なし整数に変換されます。
  • サロゲートペア: サロゲートペアが必要な文字(例えば、ほとんどの絵文字)を生成する場合、上位サロゲートと下位サロゲートの両方を指定する必要があります。
  • 空の引数: 引数が空の場合、String.fromCharCode() は空の文字列を返します。
  • length プロパティ: String.fromCharCode 関数の length プロパティは 1 です。これは、この関数が少なくとも1つの引数を期待していることを示します。

脚註

編集
  1. ^ これは、UTF-16 コードユニットから文字列を生成するために使用されます。

外部リンク

編集