【JavaScript ECMAScript】String::String.prototype.codePointAtインスタンスメソッドの使い方
String.prototype.codePointAt()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
String.prototype.codePointAt()メソッドは、呼び出し元の文字列において、指定されたインデックス位置にあるUnicodeコードポイントの値を返すメソッドです。
JavaScriptの文字列は内部的にUTF-16形式で表現されます。このため、絵文字や一部の特殊文字など、2バイトでは表現しきれない文字は「サロゲートペア」として扱われます。従来のcharCodeAt()メソッドが個別のUTF-16コードユニットを返すのに対し、codePointAt()メソッドは、サロゲートペア全体を一つの論理的な文字とみなし、その完全なUnicodeコードポイントを数値として正確に取得します。
例えば、「✨」のような絵文字も、このメソッドを使えば単一の文字として正しくコードポイントを取得でき、多言語対応や、絵文字を含む文字列の正確な処理に役立ちます。これにより、文字列内の文字を論理的な単位で適切に操作することが可能になります。
引数には、コードポイントを取得したい文字列内の0から始まるインデックスを指定します。戻り値は、指定された位置のコードポイントを表す非負の整数です。指定されたインデックスが無効な場合はundefinedを返します。このメソッドは、Unicodeの全ての文字を適切に扱う上で不可欠な機能であり、特に国際化対応のアプリケーション開発において重要な役割を果たします。
構文(syntax)
1const myString = "こんにちは😊世界"; 2const unicodeCodePoint = myString.codePointAt(5);
引数(parameters)
pos = 0
- pos: number = 0: コードポイントを取得したい文字の位置を示す整数。省略した場合は0になります。
戻り値(return)
number | undefined
指定された文字列の指定されたインデックスにあるコードポイントの数値を返します。該当するインデックスにコードポイントが存在しない場合は、undefined を返します。