JavaScriptの .charAt()
および.charCodeAt()
メソッドは、文字列の特定の位置にある文字や文字コードを取得するためのメソッドです。文字列操作の基礎としてよく使われるため、基本的な使い方や注意点をまとめていきたいと思います。
目次 非表示
charAt()
は、指定したインデックス(位置)にある文字を返します。
HTML
文字列.charAt(インデックス);
インデックス
:取得したい文字の位置(0から始まる)- インデックスが範囲外(文字列の長さ以上)の場合は空文字
""
を返す
HTML
const text = 'Cappuccino';
console.log(text.charAt(0)); // "C"
console.log(text.charAt(4)); // "u"
console.log(text.charAt(100)); // ""(範囲外のため空文字)
JavaScript
const code = 65;
console.log(String.fromCharCode(code)); // "A"
JavaScript
const text = 'Coffee';
for (let i = 0; i < text.length; i++) {
console.log(text.charAt(i));
}
// 出力: "C" "o" "f" "f" "e" "e"
JavaScript
const char = 'A';
if (char.charCodeAt(0) >= 65 && char.charCodeAt(0) <= 90) {
console.log('大文字です');
} else {
console.log('小文字またはその他の文字です');
}
JavaScript
const text = 'ABC';
const codes = [];
for (let i = 0; i < text.length; i++) {
codes.push(text.charCodeAt(i));
}
console.log(codes); // [65, 66, 67]
charAt()
は空文字""
を返します。charCodeAt()
はNaN
を返します。
charCodeAt()
は、基本的に1バイトの文字に対してのみ機能するため、サロゲートペアを含む文字(例: “𠮷”)では正しく取得できません。- サロゲートペアに対応するには
codePointAt()
を使用することをおすすめします。
charAt()
は指定した位置の文字を取得します。charCodeAt()
は指定した位置の文字コードを取得します。- 範囲外のインデックスを指定すると
.charAt()
は""
、.charCodeAt()
はNaN
を返します。 - 絵文字やサロゲートペアを扱う場合は
codePointAt()
を使用する。