Обращение к отдельному символу в строке

К символу строки можно обратиться как к элементу массива. Достаточно указать его индекс в квадратных скобках. Нумерация начинается с нуля. Можно только получить символ по индексу, а вот изменить символ по индексу нельзя:

let str = 'Строка';
console.log( str[1] ); // т

Вместо квадратных скобок можно использовать метод charAt(<Индекс символа>):

let str = 'Строка';
console.log( str.charAt(0) ); // С
console.log( str.charAt(1) ); // т

Если указанный индекс отсутствует в строке, то при использовании квадратных скобок получим значение undefined, а метод charAt() вернет пустую строку:

let str = 'Строка';
console.log( str[6] );        // undefined
console.log( str.charAt(6) ); // <Пустая строка>

Метод charCodeAt(<Индекс символа>) позволяет получить код символа в кодировке Unicode:

let str = 'Строка';
console.log( str.charCodeAt(0) ); // 1057
console.log( str.charCodeAt(1) ); // 1090
console.log( str.charCodeAt(6) ); // NaN

Строки поддерживают итерации, поэтому мы можем перебрать все символы в цикле:

for (const char of 'Строка') {
   console.log(char);
}

Получить итератор из строки позволяет следующая инструкция:

let iterator = str[Symbol.iterator]();

Пример:

let str = 'str';
let iterator = str[Symbol.iterator]();
console.log( iterator.next().value ); // s
console.log( iterator.next().value ); // t
console.log( iterator.next().value ); // r
console.log( iterator.next().value ); // undefined

Можно также преобразовать строку в массив, в котором каждый элемент будет содержать только одну букву:

let arr = Array.from('Строка');
console.log(arr); // [ 'С', 'т', 'р', 'о', 'к', 'а' ]

Как вы уже знаете, строки в языке JavaScript являются последовательностями символов в кодировке UTF-16. На сегодняшний день 16-ти битов недостаточно для кодирования символов всех языков мира. Поэтому некоторые символы могут кодироваться 32-мя битами. Иными словами, один символ может кодироваться в строке двумя символами. Символы русского языка не попадают в диапазон этих значений, поэтому мы не станем рассматривать методы, предназначенные для работы с кодовыми точками. Однако знать об этом нужно. В случае необходимости вы всегда сможете найти описание этих методов в документации.

Учебник по Node.js и JavaScript
Учебник по JavaScript (Node.js) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов