「lengthプロパティは、文字数を表わす数値型の値を返します」
「JavaScriptではUnicodeを基本としますので、日本語のような全角文字も1文字として数えます。文字数を調べるときの書き方は、対象の文字列とlenghtをメンバー演算子『.』で区切って記述します。オブジェクトを操作するときの『何を』『どうする』の書き方です」
「『変数名.プロパティ名』という書き方ですね。このように書けば、変数に格納された文字列が、Stringオブジェクトとして扱われるようになるんですよね。では、lengthプロパティで文字列の長さを調べてみるコードを書いてみます」
「今度は、Stringオブジェクトのメソッドを使ってみましょう。メソッドもプロパティと同様に、『変数名.メソッド名()』の書き方で利用することができます。メソッド名のあとの()は、メソッドに渡す引数を書く部分です」
「引数を書かなくてもいいメソッドもありますよね」
「その場合は、()の中は空のままでいいです」
「indexOf()は、文字列の先頭から特定の文字列を検索して、この文字列の先頭位置を示すインデックスを返すメソッドです。インデックスとは、文字の位置を示す0から始まる通し番号のことです。'こんにちは'の『ん』のインデックスは『1』になります。なお、指定した文字列がなかった場合は-1が返されます」
「インデックス値は『0』から始まることに気を付けなきゃいけませんね」
「一方、『lastIndexOf()』というメソッドは、『文字列の末尾』から特定の文字列を検索して、この文字列の先頭位置を示すインデックスを返します。文字列の中に指定した文字列が1つしかない場合は、indexOf()を使った場合と同じ結果になるのですね」
「じゃ、indexOf()を使った2パターンのコードと、lastIndexOf()を使ったコードを書いてみます」
「(1)はstrに格納されている文字列の先頭の位置から検索を開始し、最初に出現する『example』の位置(インデックス)を取得しています。(2)では文字列の8文字目の位置から検索を開始し、最初に出現する『example』の位置を取得しています。最後の(3)は、文字列の先頭の末尾から検索を開始し、最初に出現する『example』の位置を取得するようにしました」
Copyright © ITmedia, Inc. All Rights Reserved.