Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
String.fromCharCode() 静的メソッドは、指定された UTF-16 コード単位の並びから生成された文字列を返します。
UTF-16 コード単位を表す数値の並びです。範囲は 0 から 65535 (0xFFFF) までです。数値が 0xFFFF を超えた場合は切り捨てられます。妥当性チェックは行われません。
指定された N 個の UTF-16 コード単位から生成された、長さ N の文字列です。
fromCharCode() は String の静的メソッドなので、自分で生成した String オブジェクトのメソッドではなく、常に String.fromCharCode() として使用するようにしてください。
Unicode のコードポイントは 0 から 1114111 (0x10FFFF) までの範囲です。charAt() は常に 65536 より小さい値を返しますが、これは上位のコードポイントは 16 ビットのサロゲート擬似文字のペアによって表されているからです。したがって、65535 より大きい値を持つ完全な文字を取得するには、charAt(i) だけでなく charAt(i + 1) も取得するか(2 つの文字を持つ文字列を操作する場合と同じです)、または codePointAt(i) と String.fromCodePoint() を使用する必要があります。Unicode に関する情報はUTF-16 文字、Unicode コードポイント、書記素クラスターを参照してください。
fromCharCode() は 16 ビット値のみで動作するため(\u エスケープシーケンスと同様)、補助文字を返すためにはサロゲートペアが必要です。例えば、String.fromCharCode(0xD83C, 0xDF03) と \uD83C\uDF03 はコードポイント U+1F303 "Night with Stars" です。補助コードポイントの値(例: 0x1f303)とそれを表す両方のサロゲート値(例: 0xd83c や 0xdf03)との間には数学的な関係がありますが、補助コードポイントを使用するたびにサロゲートペアの値を計算したり参照したりする、余分なステップが必要になります。このため、実際のコードポイント値に基づいて補助文字を返すことができる String.fromCodePoint() を使用した方が便利です。例えば、 String.fromCodePoint(0x1f303) はコードポイント U+1F303 "Night with Stars" を返します。
BMP 文字は、 UTF-16 では単一のコード単位を使用します。
補助文字は、 UTF-16 では、 2 つのコード単位(すなわちサロゲートペア)を必要とします。
| ECMAScript® 2027 Language Specification # sec-string.fromcharcode |
ブラウザー互換性一覧表を表示するには、JavaScript を有効にしてください。
より良いインターネットのための青写真。
このコンテンツの一部は、©1998–2026 個人の mozilla.org 協力者です。コンテンツはクリエイティブ・コモンズ・ライセンスのもとで利用できます。