文字列をStringオブジェクトという特別なオブジェクトとして扱うことができます。そうすると、Stringオブジェクトに用意されているプロパティやあメソッドを使用することができます。
今まで、文字列を使用する場合はシングル又は、ダブルクォーテションで囲って文字列リテラルとして書いてきました。
1 |
var str = "javaScriptの勉強"; |
上記を、下記のようにnew演算子とStringコンスタクタを使って書くことで、文字列リテラルからStringオブジェクトのインスタンスを生成することができます。
1 |
var str = new String("javaScriptの勉強"); |
javaScriptでは、文字列とStringオブジェクトと違うデータです。ただ、リテラルとして記述した文字列に対しても、Stringオブジェクトに備え付けられているメソッド、プロパティが使えるようになっています。
文字列に対してメソッドやプロパティを適用する際に、自動的にStringオブジェクトに変換されると考えていいかもしれません。Stringオブジェクトのプロパティあ、文字列の長さを表すlengthだけですが、文字列操作に便利なメソッドが用意されています。
サンプルコードの実行結果はこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>文字列オブジェクト</title> </head> <body> <script> var str1 = new String("StringObject"); document.write(str1,"<br>"); document.write("文字列の長さ=",str1.length); var str2 = new String("中国発世界同時株安","<br>"); for( var i=0; i< str2.length ;i++){ document.write("<h3>",str2.charAt(i) ,"</h3>"); } </script> </body> </html> |
文字列の長さはlengthプロパティ
文字列の長さは、lengthプロパティで管理されています。サンプルコードでは以下のように書いています。
1 |
document.write("文字列の長さ=",str1.length); |
指定した位置の文字を戻すcharAtメソッド
charAtメソッドは、引数で指定した位置の1文字を返します。先頭の文字の位置を「0」としてカウントします。
1 |
for( var i=0; i< str2.length ;i++){ |
全体の文字数が入っておりますが「i< str2.length」と書くことで格納されている文字だけを見るようにしています。「i <= ( str2.length - 1 )」と書いても同じです。
文字列操作のメソッド
Stringオブジェクトに用意されているメソッド。
メソッド名 | メソッドの説明 |
---|---|
charAt | 指定した位置の文字を返す |
charCodeAt | 指定した位置の文字の文字コードを返す |
indexOf | 文字列の位置を調べる |
split | 文字列を配列に変換する |
substring | 指定した範囲の文字列の途中を取り出す |
toLowerCase | 半角英数を小文字に変換する |
toUpperCase | 半角英数を大文字に変換する |
文字列リテラルに対してメソッドを実行する。
例1:文字列リテラルの6文字の文字を取り出す
var char1 = "javaScriptを勉強中".charAt(5);
例2:文字列リテラルの長さを求める
var len = "javaScriptを勉強中".length;