String.prototype.at()

Метод at() (на позиції) значень String приймає ціле число і повертає новий рядок, що складається з однієї кодової одиниці UTF-16, розміщеної за вказаною позицією. Цей метод приймає як додатні, так і від'ємні цілі числа. Від'ємні числа позначають номер позиції у зворотному напрямку, від останнього символу рядка.

Спробуйте його в дії

Синтаксис

at(index)

Параметри

index

Індекс (позиція) символу рядка, який потрібно отримати. Дає змогу також обирати позицію з кінця рядка, якщо передати від'ємне значення. Іншими словами, якщо вжито від'ємне число, цільовий символ буде знайдено шляхом перебирання позицій у зворотному напрямку, з кінця сторінки.

Повернене значення

Рядок, який містить єдину кодову одиницю UTF-16, взяту за вказаною позицією. Повертає undefined, якщо за переданим індексом нічого не знайдено.

Приклади

Повернення останнього символу рядка

Наступний приклад демонструє функцію, яка повертає останній символ, знайдений у вказаному рядку.

// Функція, яка повертає останній символ переданого рядка
function returnLast(str) {
  return str.at(-1);
}

let invoiceRef = "мій-інвойс01";

console.log(returnLast(invoiceRef)); // '1'

invoiceRef = "мій-інвойс02";

console.log(returnLast(invoiceRef)); // '2'

Порівняння методів

Нижче наведено порівняння різних способів отримання передостаннього символу рядка. Позаяк всі наведені далі методи — коректні, з-поміж них виділяється лаконічність і чіткість саме методу at().

const myString = "Всякий зелений автобус їде швидко.";

// Використання властивості "length" і методу charAt()
const lengthWay = myString.charAt(myString.length - 2);
console.log(lengthWay); // 'о'

// За допомогою методу slice()
const sliceWay = myString.slice(-2, -1);
console.log(sliceWay); // 'о'

// Шляхом застосування методу at()
const atWay = myString.at(-2);
console.log(atWay); // 'о'

Специфікації

Сумісність із браузерами

desktop mobile server
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet Deno Node.js
at
Chrome Full support 92
Edge Full support 92
Firefox Full support 90
Internet Explorer No support Ні
Opera Full support 78
Safari Full support 15.4
WebView Android Full support 92
Chrome Android Full support 92
Firefox for Android Full support 90
Opera Android No support Ні
Safari on iOS Full support 15.4
Samsung Internet Full support 16.0
Deno Full support 1.12
Node.js Full support 16.6.0

Дивіться також