【JavaScript ECMAScript】String::String.prototype.localeCompareインスタンスメソッドの使い方
String.prototype.localeCompare()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
String.prototype.localeCompare()メソッドは、ある文字列と別の文字列を現在のロケール(言語や地域設定)に基づいて比較し、その順序を示す数値を返すメソッドです。このメソッドは、JavaScriptのStringオブジェクトのインスタンスから呼び出すことができます。
比較の結果は数値で示され、その値によって文字列の相対的な順序を判断します。具体的には、現在の文字列が比較対象の文字列よりロケール順で前に来るべき場合は負の値が返され、後に来るべき場合は正の値が返されます。そして、両方の文字列が同じ順序であると判断された場合はゼロが返されます。
この機能は、特に文字列をソートする際に非常に重要です。一般的なプログラミング言語における文字列の比較は文字コードの順序で行われることが多いですが、それでは特定の言語の慣習に沿った正しい順序付けができません。例えば、ドイツ語のウムラウト文字や、日本語の拗音・促音といった特殊な文字の並び順を、その言語のルールに従って正確に判断するために本メソッドが利用されます。引数として、比較対象の文字列の他に、使用するロケールを指定するための文字列または文字列の配列、そして比較動作を細かく制御するためのオプションオブジェクトを渡すことも可能です。これにより、国際化されたアプリケーション開発において、より高度で正確な文字列の順序比較を実現します。
構文(syntax)
1'stringA'.localeCompare('stringB');
引数(parameters)
compareString, locales, options
- compareString: string: 比較対象の文字列
- locales: string[] | string: オプション。ロケールを指定する配列または文字列
- options: object: オプション。比較方法をカスタマイズするためのオブジェクト
戻り値(return)
Number
String.prototype.localeCompare() メソッドは、2つの文字列を現在のロケール(地域設定)に従って比較した結果を数値で返します。
この数値は、比較対象の文字列が、呼び出し元の文字列より前に来る場合は負の値、後に来る場合は正の値、等しい場合は 0 となります。