at() в JavaScript

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

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

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

Результат:

П

Индекс 0 - это первый символ строки.

Что такое at()

at() - это метод, который получает элемент по индексу. У строк он возвращает символ.

let text = 'JavaScript';

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

Результат:

S

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

Синтаксис

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

string.at(index);

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

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

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

Результат:

с

Положительный индекс

Если индекс положительный, счет идет с начала строки.

let word = 'кот';

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

Результат:

к
о
т

Индексы начинаются с 0, как и при обращении через квадратные скобки.

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

Главное удобство at() - отрицательные индексы. Они позволяют получать символы с конца строки.

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

console.log(word.at(-1));
console.log(word.at(-2));

Результат:

т
е

-1 означает последний символ, -2 - предпоследний.

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

Если такого индекса в строке нет, at() вернет undefined.

let word = 'кот';

console.log(word.at(10));
console.log(word.at(-10));

Результат:

undefined
undefined

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

Для обычного положительного индекса at() и квадратные скобки дают одинаковый результат.

let word = 'кот';

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

Результат:

о
о

Но квадратные скобки не работают с отрицательными индексами.

let word = 'кот';

console.log(word.at(-1));
console.log(word[-1]);

Результат:

т
undefined

at() и charAt()

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

let word = 'кот';

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

Результат:


т

Если нужно взять символ с конца строки, at() обычно удобнее.

Итого

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

  • Положительные индексы считаются с начала строки.
  • Отрицательные индексы считаются с конца строки.
  • at(-1) возвращает последний символ.
  • Если индекса нет, at() возвращает undefined.
  • Для доступа к символам с конца строки at() удобнее, чем charAt() и квадратные скобки.