Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

JS метод String.at()

Занальний опис

Метод String.prototype.at() дозволяє отримувати символ за вказаним індексом, причому з особливістю: від'ємні значення індексу дозволяють читати рядок з кінця. Це робить at() зручним для використання, коли потрібно легко і швидко отримати доступ до елементів рядка, не замислюючись про обчислення зворотного індексування.

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

Ось базовий приклад використання:

let str = "Привіт!";
console.log(str.at(0)); // "П"
console.log(str.at(-1)); // "!"

У цьому прикладі перший виклик повертає перший символ "П", а другий виклик – останній символ "!".

Метод at() особливо корисний у ситуаціях, коли потрібно працювати з рядками у функціях колбек, наприклад, при роботі з методами вищого порядку або при роботі з асинхронним кодом, де може знадобитися витягувати окремі символи з рядків, отриманих з різних джерел.

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

Приклад з Unicode символами:

let emoji = "😄🐶🚀";
console.log(emoji.at(1)); // 🐶
console.log(emoji.at(-1)); // 🚀

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

Важливою особливістю String.prototype.at() є його здатність обробляти великі рядки ефективно, оскільки він не вимагає проходження по всьому рядку, щоб знайти символ на кінці, як це було б при використанні методу charAt() з обчисленням позиції символу.

Нотатка:

Метод at() може приймати від'ємні значення, які дозволяють читати символи з кінця рядка. Це дуже зручно, коли вам потрібно швидко отримати доступ до останніх символів, не рахуючи довжину рядка: const lastChar = 'Привіт, світ!'.at(-1); поверне "!".

Нотатка:

Коли ви використовуєте at() з індексом, який виходить за межі довжини рядка, метод повертає undefined, а не викидає помилку. Така поведінка методу допомагає уникнути помилок у коді при звертанні до неіснуючих індексів:

const beyondChar = 'Привіт, світ!'.at(100); // undefined
Нотатка:

Варто враховувати, що at() є сучасним додатком до мови JavaScript і може не підтримуватись у застарілих середовищах. Тому перш ніж використовувати цей метод у виробничому коді, переконайтеся, що він підтримується в цільових середовищах, або використовуйте поліфіли для забезпечення сумісності.

Синтаксис

at(index)

Параметри

*index

Індекс (позиція) символу рядка, який має бути повернений.

Return

string

Повертає рядок, що складається з одного UTF-16 кодового блоку, який розташований на зазначеній позиції. Якщо зазначений індекс виходить за межі довжини рядка, результатом буде undefined.

Переглядачі

Переглядач

92

90

15.4

78

92

Переглядач

92

92

90

15.4

Переглядач

16.6.0

1.12

Приклади


У цьому прикладі користувачі можуть ввести будь-який рядок та індекс, а потім натиснути кнопку, щоб побачити результат. Якщо вони введуть від'ємний індекс, метод at() поверне символ, який знаходиться на тій позиції від кінця рядка.

У цьому прикладі демонструється базове використання методу String.prototype.at(), який дозволяє отримати символ з рядка за певним індексом. На відміну від методу charAt(), at() також може приймати від'ємні індекси, що представляють позиції символів, починаючи з кінця рядка.

let greeting = "Привіт!";
let firstChar = greeting.at(0); // Отримуємо перший символ
let lastChar = greeting.at(-1); // Отримуємо останній символ

console.log(firstChar); // Виводить "П"
console.log(lastChar);  // Виводить "!"

У цьому прикладі ми складніше використовуємо String.prototype.at() для створення функції, яка реверсує рядок. Ми будемо проходитись по рядку з кінця до початку, використовуючи від'ємні індекси, і збирати новий рядок у зворотному порядку.

function reverseString(str) {
  let reversed = '';
  for (let i = 1; i <= str.length; i++) {
    reversed += str.at(-i); // Додаємо символ з кінця рядка до результату
  }
  return reversed;
}

let greeting = "Привіт";
let reversedGreeting = reverseString(greeting);

console.log(reversedGreeting); // Виводить "тівирП"