Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】String::String.prototype.normalizeインスタンスメソッドの使い方

String.prototype.normalize()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

String.prototype.normalize()メソッドは、Unicode文字列の多様な表現を、指定された統一的な正規化形式に変換するメソッドです。

Unicodeの特性として、視覚的に同じに見える文字や記号でも、内部的には複数の異なるコードの組み合わせで表現されることがあります。例えば、アクセント記号付きの文字「é」は、単一のコードポイントで表されることもあれば、「e」と「´」(アキュートアクセント)の組み合わせで表されることもあります。これらは見た目は同じですが、コンピューター上では異なるデータとして扱われるため、文字列の比較や検索で不一致が生じる可能性があります。

このメソッドは、このような異なる内部表現を持つ文字列を、特定の「正規化形式」(NFC, NFD, NFKC, NFKDなど)に変換することで、同じ意味を持つ文字列が常に同じバイナリ表現を持つようにします。これにより、文字列の比較処理などが正確に行えるようになります。引数には正規化形式を示す文字列を指定し、省略した場合はデフォルトで「NFC」形式が適用されます。このメソッドは、元の文字列を変更せず、正規化された新しい文字列を返します。特に多言語対応のシステムにおいて、データの整合性を保ち、文字列操作の信頼性を高める上で非常に重要な機能です。

公式リファレンス: String.prototype.normalize()

構文(syntax)

1stringInstance.normalize();

引数(parameters)

form = 'NFC'

  • form = 'NFC': string: 正規化の形式を指定します。指定できる値は 'NFC', 'NFD', 'NFKC', 'NFKD' です。デフォルトは 'NFC' です。

戻り値(return)

String

正規化された文字列を返します。文字列の Unicode 正規化形式に基づいて、互換性のある文字を分解・結合して、同一の文字列表現に統一します。

関連コンテンツ

関連プログラミング言語