【Node.js24.x】String::charCodeAt()メソッドの使い方
charCodeAtメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
charCodeAtメソッドは、文字列内の指定された位置にある文字のUTF-16コードユニット値を数値として取得するメソッドです。このメソッドは、プログラミングにおいて、文字列の特定文字の内部的な数値表現を把握したい場合や、文字列データをより詳細に解析する際に利用されます。
このメソッドには、indexという必須の引数を渡します。indexは、値を取得したい文字が文字列のどの位置にあるかを示す数値で、文字列の最初の文字のインデックスは0から始まります。例えば、「こんにちは」という文字列で「に」のコードユニット値を取得したい場合、indexには2を指定します。
メソッドの戻り値は、指定されたindex位置にある文字に対応するUTF-16コードユニット値で、0から65535までの整数として返されます。もし指定されたindexが文字列の長さ以上であるか、あるいは負の数であるなど、有効な範囲外であった場合、このメソッドはNaN(Not-a-Number)を返します。
Node.jsの文字列は内部的にUTF-16エンコーディングを採用しており、charCodeAtメソッドは個々の16ビットコードユニットの値を返します。このため、絵文字のような一部の特殊な文字や、アスキー文字範囲外の多くの文字は、実際には2つのUTF-16コードユニット(サロゲートペア)で表現されることがあります。このような文字に対してcharCodeAtを使用すると、サロゲートペアを構成する個々のコードユニットの値しか取得できないため、完全なUnicodeコードポイントを取得するには、代わりにcodePointAtメソッドの使用を検討することが推奨されます。このメソッドは、文字エンコーディングの詳細な処理や、国際化対応アプリケーションの構築において重要な役割を果たします。
構文(syntax)
1const str = 'Hello'; 2const charCode = str.charCodeAt(1); 3console.log(charCode);
引数(parameters)
index = 0
- index: number: 文字コードを取得したい文字のインデックス。デフォルトは0。
戻り値(return)
number
String.prototype.charCodeAt() は、指定されたインデックスにある文字の UTF-16 コードユニットを表す整数値を返します。