Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

JavaScript辞典

  1. トップページ
  2. JavaScript辞典
  3. 文字列.charAt() / at()

文字列.charAt() / at()

文字列の指定した位置にある文字を1文字返します。文字コードを取得したい場合は『文字列.charCodeAt()』を使用します。

構文
// 指定した位置の文字を取得します。
文字列.charAt(位置)

// 指定した位置の文字を取得します。負の値で末尾からの位置を指定できます。
文字列.at(位置)

// 指定した位置の文字のUTF-16コードを取得します。
文字列.charCodeAt(位置)
メソッド一覧
メソッド概要
charAt(位置)指定した位置の文字を返します。範囲外の場合は空文字『""』を返します。
at(位置)指定した位置の文字を返します。負の値を指定すると末尾からの位置として扱われ、範囲外の場合は『undefined』を返します。
charCodeAt(位置)指定した位置の文字のUTF-16コード(数値)を返します。範囲外の場合は『NaN』を返します。
サンプルコード
var str = "Hello";

// charAt で文字を取得します。
console.log(str.charAt(0)); // 『H』と出力されます。
console.log(str.charAt(4)); // 『o』と出力されます。
console.log(str.charAt(10)); // 範囲外のため空文字『』が出力されます。

// at で文字を取得します。負の値で末尾から指定できます。
console.log(str.at(0));  // 『H』と出力されます。
console.log(str.at(-1)); // 末尾の『o』と出力されます。
console.log(str.at(-2)); // 末尾から2番目の『l』と出力されます。

// charCodeAt で文字コードを取得します。
console.log(str.charCodeAt(0)); // 『H』のUTF-16コード『72』と出力されます。
console.log(str.charCodeAt(1)); // 『e』のUTF-16コード『101』と出力されます。

// ブラケット記法でも文字を取得できます。
console.log(str[0]);  // 『H』と出力されます。
console.log(str[-1]); // ブラケット記法では負の値は使えず『undefined』と出力されます。
実行結果

上記のコードを実行すると、コンソールには以下が出力されます。

"H"         // charAt(0) で先頭の文字
"o"         // charAt(4) で末尾の文字
""          // charAt(10) は範囲外で空文字
"H"         // at(0) で先頭の文字
"o"         // at(-1) で末尾の文字
"l"         // at(-2) で末尾から2番目
72          // 『H』のUTF-16コード
101         // 『e』のUTF-16コード
"H"         // ブラケット記法 str[0]
undefined   // ブラケット記法では負の値は使えない
概要

『文字列.charAt()』は指定した位置の文字を1つ返す基本的なメソッドです。同じ機能を持つ『文字列.at()』は負の値を指定できるため、末尾から文字を取得する場合に便利です。

ブラケット記法( str[0] )でも文字を取得できますが、負の値には対応していません。末尾の文字を取得したい場合は str[str.length - 1] と書く必要がありますが、『文字列.at(-1)』なら簡潔に記述できます。

『文字列.charCodeAt()』は文字のUTF-16コードを数値で返します。文字の比較や変換処理を行う場面で使用されますが、通常の文字取得では『文字列.charAt()』や『文字列.at()』を使うのが一般的です。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。