A230 文字列の基本構文

プログラミングでは文字の羅列を文字列と呼びます。今回は、この文字列についての詳細を紹介します。

文字列の基本

下記に様にクォーテーションで囲うことで文字列を定義することができます。

JavaScript
let string = '革命はテレビでは放送されない。';

シングルクォーテーションとダブルクォーテーションのどちらを用いてもほとんど違いはありません。

頻出メソッド・プロパティ

lengthプロパティ

lengthプロパティは文字列の長さを調べ、文字列の長さを数値が返します。

JavaScript
let string = 'こんにちは';
string.length;
//'こんにちは'は5文字なため、5という数値が返ります。

indexOf()メソッド

文字列の中に、特定の文字列が存在するか調べ、存在する場合はその文字列が始まるインデックス位置を表す数値を返し、存在しなければ-1の値を返します。

JavaScript
let string = 'こんにちは';
string.indexOf('');
//'に’は3番目(インデックス番号は0,1,2)のため2を返します。

slice()メソッド

元の文字列を変更せず、文字列の一部分を取り出し、それを新しい文字列として返します。

引数が2つの場合は、1つ目の引数は文字列を取り出し始める位置のインデックス、2つ目の引数は文字列を取り出し終える位置のインデックスを指定します。インデックスは0から開始されます。2つ目の引数について、以下の例のように「2」を指定した場合は、3文字目の「に」は含まれないという点に注意しましょう。

JavaScript
let string = 'こんにちは';
string.slice(0,2);
//'こん'が取り出されます。

上記以外にも引数の数によって取り出す文字列の指定方法がございます。

slice()メソッドの詳細はこちら

replace()メソッド

ある部分文字列を他の文字列に置き換えます。

引数が2つの際は、1つ目の引数は検索する文字列となり、2つ目は置き換える文字列となります。

JavaScript
let string = 'こんにちは';
string.replace('にちは','ばんは');
//文字列stringは’こんばんは'となります。

上記以外にも文字列を置き換える指定方法が多くございます。

replace()メソッドの詳細はこちら

例題

以下の中で下記コードの返り値はどれか

JavaScript
let string = 'おはようございます';
string.indexOf('');
  1. 1
  2. 2
  3. 3
  4. 0
回答

4. 0

’お’は1番目(インデックス番号は0)のため

以下の中で下記コードの返り値はどれか

JavaScript
let string = 'string';
string.slice(3,6);
  1. str
  2. tri
  3. rin
  4. ing
回答

4. ing

第一引数は文字列を取り出し始めるインデックス、第二引数は文字列を取り出し終えるインデックスになるため

エンジニアからのアドバイス

メソッド・プロパティについて丸暗記する必要はないですが、文字列に対してどんな操作をできるメソッドがあるのは覚えておきましょう。実際の現場でロジックを組み立てる際のイメージが掴みやすくなります。

slice()メソッドについて、第二引数の意味を開始インデックスからの文字数と勘違いしないように注意しましょう。

---