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

【Node.js24.x】String::normalize()メソッドの使い方

normalizeメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

normalizeメソッドは、Unicode文字列の正規化を実行するメソッドです。Unicodeでは、見た目が同じ文字であっても、内部的なバイト表現が複数存在する場合があります。例えば、アクセント記号付きの文字「é」は、単一の文字として表現することも、文字「e」とアクセント記号「´」の組み合わせとして表現することも可能です。このような表現の違いは、文字列の比較や検索を行う際に、予期せぬ不一致を引き起こす原因となります。

このメソッドは、引数として指定された正規化形式に基づいて、文字列の表現を統一し、一貫性のある形式に変換します。引数formには、主に以下の4つの形式を指定できます。「'NFC'」(正規化済み結合)、これは一般的に推奨されるデフォルトの形式で、結合文字を合成して最短の表現にします。「'NFD'」(正規化済み分解)、これは結合文字を分解します。「'NFKC'」(互換性正規化済み結合)および「'NFKD'」(互換性正規化済み分解)は、互換性のある文字(例: 全角数字と半角数字)も考慮して正規化を行います。

normalizeメソッドを呼び出すと、正規化された新しい文字列が返されます。元の文字列は変更されません。これにより、異なるソースから取得した文字列でも、見た目だけでなく内部表現も統一され、正確な比較や検索が可能になります。特に、ユーザー入力のバリデーション、データベースへの保存、検索エンジンの構築など、文字列の整合性が求められるシステム開発において非常に重要な役割を果たします。

構文(syntax)

1const originalString = 'Déjà vu';
2const normalizedStringDefault = originalString.normalize();
3const normalizedStringNFC = originalString.normalize('NFC');

引数(parameters)

form = 'NFC'

  • form: string = 'NFC': Unicode正規化の形式を指定する文字列。'NFC' (Normalization Form Canonical Composition)、'NFD' (Normalization Form Canonical Decomposition)、'NFKC' (Normalization Form Compatibility Composition)、'NFKD' (Normalization Form Compatibility Decomposition) のいずれかを指定します。

戻り値(return)

string

UTF-16コードユニットのシーケンスとして正規化された新しい文字列を返します。

関連コンテンツ

関連プログラミング言語