コンテンツにスキップ

JavaScript/String/prototype/codePointAt

出典: フリー教科書『ウィキブックス(Wikibooks)』

String.prototype.codePointAt() は、文字列内の指定された位置にある文字のUnicodeコードポイント値を返すメソッドです。このメソッドは、サロゲートペアを正しく処理し、完全なUnicodeコードポイント値(0から0x10FFFF)を取得します[1]

構文

[編集]
str.codePointAt(index)
  • index: 取得したい文字の位置を示す0以上の整数。

[編集]

通常の文字のコードポイントを取得するプログラム

[編集]

以下のプログラムは、codePointAt() を使用して通常の文字のコードポイントを取得します。

conststr='ABC';console.log(str.codePointAt(0));// 65 ("A"のコードポイント)console.log(str.codePointAt(1));// 66 ("B"のコードポイント)console.log(str.codePointAt(2));// 67 ("C"のコードポイント)

このプログラムでは、codePointAt() を使用して基本的な文字のコードポイントを取得しています。

サロゲートペアの文字のコードポイントを取得するプログラム

[編集]

以下のプログラムは、サロゲートペアの文字のコードポイントを取得します。

conststr='𠮷';// サロゲートペアの文字console.log(str.codePointAt(0));// 134071 ("𠮷"のコードポイント)console.log(str.charCodeAt(0));// 55362 (上位サロゲート)console.log(str.charCodeAt(1));// 57271 (下位サロゲート)

このプログラムでは、codePointAt()charCodeAt() の違いを示し、サロゲートペアの処理の違いを確認しています。

注意点

[編集]
  • インデックス: インデックスは0から始まります。
  • 範囲外: 指定された位置が文字列の長さ以上の場合、undefined を返します。
  • 負の数: 負の数が指定された場合、undefined を返します。
  • サロゲートペア: サロゲートペアの文字に対して正しいコードポイント値を返します。
  • charCodeAtとの違い: charCodeAt() はUTF-16コードユニットを返しますが、codePointAt() は完全なコードポイント値を返します。

脚註

[編集]
  1. ^これは、文字列内の特定の位置にある文字のUnicodeコードポイント値を取得するために使用されます。

外部リンク

[編集]


close