at() возвращает символ строки по индексу.
Главное удобство этого метода в том, что он поддерживает не только обычные, но и отрицательные индексы.
Синтаксис
str.at(index)
Метод вызывается у строки и возвращает символ или undefined.
Как работает at()
const text = "JavaScript";
console.log(text.at(0)); // "J"
console.log(text.at(4)); // "S"
Индекс начинается с 0, как и в других строковых операциях JavaScript.
Отрицательные индексы
at() умеет считать с конца строки:
const text = "JavaScript";
console.log(text.at(-1)); // "t"
console.log(text.at(-2)); // "p"
Это одно из главных отличий at() от обращения через квадратные скобки.
Если индекс вне диапазона
Если символа по такому индексу нет, метод вернёт undefined.
const text = "abc";
console.log(text.at(10)); // undefined
console.log(text.at(-10)); // undefined
Когда это полезно
at() удобно использовать, когда:
- нужно получить символ по индексу
- нужно взять последний символ строки
- хочется работать с концом строки без ручного расчёта
length - 1
Пример:
const filename = "photo.jpg";
console.log(filename.at(-1)); // "g"
at() и квадратные скобки
Обычное обращение к строке по индексу выглядит так:
const text = "hello";
console.log(text[1]); // "e"
Но у квадратных скобок нет удобной поддержки отрицательных индексов:
console.log(text[-1]); // undefined
console.log(text.at(-1)); // "o"
Если нужен доступ с конца строки, at() удобнее.
at() и charAt()
charAt() тоже возвращает символ по индексу:
const text = "hello";
console.log(text.charAt(1)); // "e"
console.log(text.at(1)); // "e"
Но у at() есть два важных плюса:
- поддерживает отрицательные индексы
- возвращает
undefined, если индекс вне диапазона
const text = "hello";
console.log(text.at(10)); // undefined
console.log(text.charAt(10)); // ""
Частые ошибки
Ожидать, что отрицательный индекс сработает у квадратных скобок
const text = "hello";
console.log(text[-1]); // undefined
console.log(text.at(-1)); // "o"
Если нужен символ с конца строки, используйте at().
Забывать, что индексация начинается с нуля
const text = "abc";
console.log(text.at(0)); // "a"
console.log(text.at(1)); // "b"
Быстрая памятка
at(index)возвращает символ строки по индексу- метод поддерживает отрицательные индексы
at(-1)возвращает последний символ- если индекс вне диапазона, метод вернёт
undefined - для доступа с конца строки
at()удобнее, чем квадратные скобки
Коротко
at() - это метод строки в JavaScript для получения символа по индексу. Его главное преимущество в том, что он поддерживает отрицательные индексы и позволяет удобно обращаться к символам с конца строки.