JavaScript

レシピ

文字列

文字列から指定した位置にある文字を取得する

文字列の指定した位置にある文字をピンポイントで取得する方法について解説します。

この記事のポイント

  • 文字列は配列オブジェクトを継承しているので配列形式で値を取得できる
  • メソッドと配列形式で文字を取得する違いは戻り値

文字列の指定した位置にある文字を取得

文字列から指定した位置にある1文字を取得したいときはcharAtメソッドを使用するか、配列のように添字を指定すると取得することができます。

コード例

var test = 'StrangerThings面白い';

// charAtメソッドを使う
console.log(test.charAt(8)); // 出力: T

// 配列形式を使う
console.log(test[8]); // 出力: T

charAtメソッドではパラメータに8を指定して「T」を取得しています。
もう1つの配列形式では配列から要素を取り出すように添字を指定して取得しています。

いずれの方法も配列と同様に1文字目が0から始まるため、0〜文字列の長さ-1が文字を取得できる範囲となります。

charAtメソッドはパラメータを省略した場合は自動的に0となり1文字目を取得します。
配列形式の場合は添字を省略するとエラーになってしまうので注意が必要です。

コード例

var test = 'StrangerThings面白い';

// charAtメソッドを使う
console.log(test.charAt()); // 'S'

// 配列形式を使う
console.log(test[]); // エラー

もう1つの違いはパラメータが文字数を超えているなどで文字を取得できなかったときの戻り値です。
次の例は文字数を超えたパラメータを指定したときと、比較演算子(===)の結果をそれぞれ出力しています。

コード例

var test = 'StrangerThings面白い';

// charAtメソッドを使う
console.log(test.charAt(17)); // ''
console.log(test.charAt(17) === ''); // true

// 配列形式を使う
console.log(test[17]); // undefined
console.log(test[17] === undefined); // true

charAtメソッドは空文字、配列形式のときは指定した値が存在しないということでundefinedが戻り値となっていることが分かります。

こちらの記事は役に立ちましたか?

ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください。

コメントありがとうございます!
運営の参考にさせていただきます。