JavaScript には、文字列をすべて大文字またはすべて小文字に変換する 2 つのメソッドが用意されており、「hello」を「HELLO」に変更したり、「NOT」を「not」に変更したりできます。なぜ?と疑問に思うかもしれません。文字列内の文字を同じ大文字と小文字に変換します。これにより、2 つの文字列の比較が容易になります。たとえば、クイズ プログラムを作成し、質問が「ツール ド フランスで最初に優勝したアメリカ人は誰ですか?」であるとします。次のようなコードを使用して、参加者の答えを確認できます。
var correctAnswer='Greg LeMond'; var response=prompt('Who was the first American to win the Tour De8 France?',''); if(response==correctAnswer){ //correct }else{ //incorrect }
答えは Greg Lemond ですが、質問者が Greg Lemond と入力するとどうなりますか?条件は次のようになります: 'Greg Lemond'=='Greg Lemond'。 JavaScript では大文字と小文字が区別されるため、Lemond の小文字の「m」は LeMond の「M」と一致しません。そのため、参加者は不正確な回答を得る可能性があります。参加者が Caps キーを押して GREG LEMOND と入力すると、同じ結果が得られます。
このパズルを解くには、両方の文字列を同じ大文字と小文字に変換して比較します。
if(response.toUpperCase()==correctAnswer.toUpperCase()){ //correct }else{ //incorrect }
この例では、条件によって参加者の回答と正解の両方が大文字に変換されるため、「Greg Lemond」は「GREG LEMOND」に、「Greg LeMond」は「GREG LEMOND」になります。
すべて小文字の文字列を取得するには、次のように toLowerCase() メソッドを使用します。
var answer='Greg LeMond'; alert(answer.toLowerCase());//'greg lemond'
これらのメソッドは、変数に実際に格納されている文字列を実際に変更するものではなく、文字列をすべて大文字またはすべて小文字で返すだけであることに注意してください。したがって、上記の例では、プロンプトが表示された後でも、回答には「Greg LeMond」が含まれています (他の値が返されます)。
toLowerCase() と toUpperCase() は、java.lang.String の同じ名前のメソッドから借用された 2 つの古典的なメソッドです。 toLocaleLowerCase() メソッドと toLocaleUpper() メソッドは、特定の地域用の実装です。一部の地域では、地域固有のメソッドでユニバーサルメソッドと同じ結果が得られますが、一部の言語では Unicode の大文字と小文字の変換に特別なルールが適用されます。この場合、正しい変換を保証するには、リージョン固有のメソッドを使用する必要があります。
以下にいくつかの例を示します:
var sv="hello world"; alert(sv.toLocaleUpperCase());//"HELLO WORLD" alert(sv.toUpperCase());//"HELLO WORLD" alert(sv.toLocaleLowerCase());//"hello world" alert(sv.toLowerCase());//“hello world”
上記のコードで使用されている toLocaleUpperCase() と toUpperCase() は両方とも「HELLO WORLD」を返します。これは、toLocaleLowerCase() と toLowerCase() を呼び出すと両方とも「hello world」を返すのと同じです。一般に、コードがどの言語環境で実行されるかわからない場合は、地域固有のアプローチを使用する方が安全です。
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。