Тип данных String в JavaScript
String
string - примитивный тип данных, представляет собой цепочку элементов использующую кодировку UTF-16, вне зависимости от кодировки которую использует страница. Больше уроков у меня на канале
UTF-16 описывает возможность хранения символов unicode с помощью 16 или 32 битных значений. Любые текстовые данных в JavaScript являются строкой в том числе и JSON.
Можем создавать строки разными способами:
// Одинарные кавычки
const stringExample_1 = 'Hello world #1';
// Двойные кавычки
const stringExample_2 = "Hello world #2";
Выбирать одинарные кавычки или двойные кавычки зависит от того какие символы встречаются внутри строки.
Если в вашей строке встречаются апострофы или вы просто используете одинарные кавычки внутри своей строки и ваша строка создана также с помощью одинарных кавычек, внутренние кавычки нужно будет экранировать с помощью обратного слэша (\).
const stringExample_3 = 'I am \'not\' sentient';
// Аналогично и с двойными кавычками.
const stringExample_4 = "I am \"not\" sentient";
// Решаем ситуацию проще, используя один тип кавычек внутри другого.
const stringExample_5 = 'I am "not" sentient';
Обратные кавычки
Шаблонные строки или шаблонные литералы.
Внутри обратных кавычек мы можем вычислять какое-то выражения или подставлять значение переменной, предварительно обернув его в ${}, этот функционал доступен только при использовании обратных кавычек.
const stringExample_6 = `Hello world #3`;
const stringExample_7 = `Hello world #${2+2}`;
const helloWorldNumber = 5;
const stringExample_8 = `Hello world #${helloWorldNumber}`;
Важно! То что мы передаем внутрь ${} будет преобразовано в строку.
Мы можем добиться аналогично поведения если будем использовать оператор '+' и одинарные или двойные кавычки. Это операция называет 'конкатенация строк'.
const stringExample_9 = 'Hello world #' + 6;
const stringExample_10 = "Hello world #" + 7;
Для того чтобы узнать количество символов в строке мы можем обратится к ее свойству length.
const stringExample_11 = 'Hello world #';
console.log(stringExample_11.length); // 13 символов
по его индексу. Индексирование строк начинается с 0 и заканчивается количеством ее символов минус 1.
const stringExample_12 = 'Hello world #9';
const firstChar = stringExample_12[0]; // H
const thirdChar = stringExample_12[2]; // l
const lastChar = stringExample_12[stringExample_12.length - 1]; //9
Иммутабельность строк
Строки неизменяемы, это значит что вы не сможете заменить букву в строке обративший к ней по индексу и присвоив ей новое значение. Для того чтобы изменять строку вам нужно будет использовать отдельные функции и методы.
const stringExample_13 = 'Hello world #10';
// Заменяем первый символ строки.
stringExample_13[0] = 'Q';
console.log(stringExample_13); // 'Hello world #10'
Строка не изменилась
Также в строках мы можем использовать unicode символы
console.log('\u{1F60D}')
P.S. Больше уроков у меня на канале
P.P.S. Файлы с урока