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 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |