【JSリファレンス】String.prototype.codePointAt()

更新日:2024/06/14

String.prototype.codePointAt()は、Stringオブジェクト(Stringコンストラクターのインスタンス)プロトタイプチェーンに組み込まれるメソッドです。

文字列の指定値のコードポイント値を取得します。
具体的には、指定された位置のコード値がサロゲートペアの上位(leading surrogate)なら下位(trailing surrogate)のコード値と共にコードポイント値に変換して返します。
サロゲートペアでない、またはサロゲートペアの下位なら、そのまま返します。

範囲外の位置を指定した場合、Undefinedを返します。

同じような機能にString.prototype.charCodeAt()があります。
こちらの関数は、コードユニット単位でコード値を返します。
また範囲外を指定した場合、NaNを返します。

 

■構文

String.prototype.codePointAt ( pos )
  1. index: 取得する文字の位置。

    省略時は0。

取得したコードポイント値(number型)
指定位置が範囲外の場合は、NaN

 

■使用例

const text = "あいう🐈";

  // コードポイント値を16進数で表示
console.log( text.codePointAt(0).toString(16) ); // 3042
console.log( text.codePointAt(1).toString(16) ); // 3044
console.log( text.codePointAt(2).toString(16) ); // 3046
console.log( text.codePointAt(3).toString(16) ); // 1f408 上位サロゲート
console.log( text.codePointAt(4).toString(16) ); // dc08 下位サロゲート

  // 範囲外を取得
console.log( text.codePointAt(8) ); // undefined
console.log( text.codePointAt(-1) ); // undefined

  // コードポイント値からの復元
const text2 = String.fromCodePoint(
    text.codePointAt(0),
    text.codePointAt(1),
    text.codePointAt(2),
    text.codePointAt(3),
);
console.log( text2 ); // あいう🐈

"🐈"は、二つのコードユニットで一文字を表すサロゲートペアの文字です。

 

関連ページ

更新日:2024/06/14

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://jsref.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。