Строки
Строка — это текст: имя пользователя, заголовок страницы, сообщение об ошибке. Работа со строками встречается почти в каждой программе, поэтому важно сразу разобраться в основах.
Запись строки
Строку записывают в одинарных или двойных кавычках — разницы между ними нет. Главное, чтобы открывающая и закрывающая кавычки совпадали:
console.log('Привет, мир!'); // Привет, мир!В этом учебнике используются одинарные кавычки — так принято во многих проектах.
Склеивание строк
Оператор + соединяет строки в одну. Эта операция называется конкатенацией:
console.log('Java' + 'Script'); // JavaScriptПробелы сами не появляются — их нужно добавить в одну из строк:
const name = 'Анна';
console.log('Привет, ' + name + '!'); // Привет, Анна!Шаблонные строки
Третий вид кавычек — обратные (`). Внутри них значение подставляется через ${...}, а в фигурных скобках можно писать любое выражение:
const price = 20;
console.log(`Итого: ${price * 3} $`); // Итого: 60 $Шаблонные строки читаются легче, чем цепочка из +, поэтому для сборки текста из частей используют их.
Длина и отдельные символы
Количество символов хранится в свойстве length. Это свойство — значение, которое строка знает о себе, поэтому скобки после него не ставятся:
console.log('привет'.length); // 6Отдельный символ получают по номеру в квадратных скобках. Номер символа называют индексом, и счёт идёт с нуля:
const word = 'привет';
console.log(word[0]); // п
console.log(word[word.length - 1]); // тКавычки внутри строки
Если внутри строки нужна такая же кавычка, как снаружи, перед ней ставят обратную косую черту \. Проще взять кавычки другого вида:
console.log('Фильм \'Дюна\''); // Фильм 'Дюна'
console.log("Фильм 'Дюна'"); // Фильм 'Дюна'Первые методы
У строк много встроенных методов — функций, которые вызывают через точку. Вот самые простые:
console.log('привет'.toUpperCase()); // ПРИВЕТ
console.log('ПРИВЕТ'.toLowerCase()); // привет
console.log('Привет, мир'.includes('мир')); // true
console.log(' текст '.trim()); // текстincludes() проверяет, есть ли в строке фрагмент, а trim() убирает пробелы по краям. Остальные методы разберём в главе о работе с текстом.
Частая ошибка
Строку нельзя изменить «на месте»: методы возвращают новую строку, а исходная остаётся прежней. Результат нужно сохранить в переменную:
let text = 'привет';
text.toUpperCase();
console.log(text); // привет
text = text.toUpperCase();
console.log(text); // ПРИВЕТ