文字列の指定した位置にある文字を取得
文字列から指定した位置にある1文字を取得したいときはcharAtメソッドを使用するか、配列のように添字を指定すると取得することができます。
JavaScript コード例
let 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文字目を取得します。
配列形式の場合は添字を省略するとエラーになってしまうので注意が必要です。
JavaScript コード例
let test = 'StrangerThings面白い';
// charAtメソッドを使う
console.log(test.charAt()); // 'S'
// 配列形式を使う
console.log(test[]); // エラー
もう1つの違いはパラメータが文字数を超えているなどで文字を取得できなかったときの戻り値です。
次の例は文字数を超えたパラメータを指定したときと、比較演算子(===)の結果をそれぞれ出力しています。
JavaScript コード例
let 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が戻り値となっていることが分かります。