charAt() в JavaScript

charAt() возвращает символ строки по указанному индексу.

let word = 'Привет';

console.log(word.charAt(0));

Результат:

П

Индекс 0 означает первый символ строки.

Что такое charAt()

charAt() - это метод строки. Он помогает получить один символ из строки.

let text = 'JavaScript';

console.log(text.charAt(4));

Результат:

S

В строке ‘JavaScript’ символ с индексом 4 - это ‘S’.

Синтаксис

Основная запись выглядит так:

string.charAt(index);

index - позиция символа, который нужно получить.

let city = 'Москва';

console.log(city.charAt(2));

Результат:

с

Индексы начинаются с нуля

Как и в массивах, индексы в строке начинаются с 0.

let word = 'кот';

console.log(word.charAt(0));
console.log(word.charAt(1));
console.log(word.charAt(2));

Результат:

к
о
т

Первый символ имеет индекс 0, второй - 1, третий - 2.

Если индекса нет

Если указать индекс, которого нет в строке, charAt() вернет пустую строку.

let word = 'кот';

console.log(word.charAt(10));

Результат:

В строке всего 3 символа, поэтому символа с индексом 10 нет.

charAt() и квадратные скобки

Символ строки можно получить не только через charAt(), но и через квадратные скобки.

let word = 'кот';

console.log(word.charAt(1));
console.log(word[1]);

Результат:

о
о

Для существующего индекса результат одинаковый.

Но если индекса нет, поведение отличается.

let word = 'кот';

console.log(word.charAt(10));
console.log(word[10]);

Результат:


undefined

charAt() вернул пустую строку, а квадратные скобки вернули undefined.

Отрицательный индекс

charAt() не умеет получать символы с конца строки через отрицательные индексы.

let word = 'кот';

console.log(word.charAt(-1));

Результат:

Для получения символа с конца строки лучше использовать метод at(). Его разберем отдельно.

Итого

charAt() возвращает символ строки по индексу.

  • Индексы в строках начинаются с 0.
  • charAt(index) возвращает один символ.
  • Если индекса нет, метод возвращает пустую строку.
  • Отрицательные индексы с charAt() не работают.
  • Для получения символа с конца строки удобнее использовать at().