Строки в JavaScript
- Что такое строка
- Кавычки в строках
- Строка в переменной
- Объединение строк
- Строки и числа
- Длина строки
- Символы строки
- Пустая строка
- Частые ошибки
Строка в JavaScript - это текстовое значение. В строке можно хранить имя пользователя, сообщение, заголовок, адрес, ответ из формы или любой другой текст.
Строки записываются в кавычках:
let message = 'Привет';
Если значение находится в кавычках, JavaScript воспринимает его как текст. Даже если внутри написаны цифры.
let age = '25';
console.log(typeof age);
В консоли будет:
string
Что такое строка
Строка или string - это один из основных типов данных JavaScript. Он нужен для работы с текстом.
Например:
let userName = 'Алексей';
let city = 'Москва';
let course = 'JavaScript';
В каждой переменной лежит строка. Ее можно вывести в консоль:
let course = 'JavaScript';
console.log(course);
Результат:
JavaScript
Строкой может быть одно слово, несколько слов, предложение, пустое значение или даже текст с цифрами и знаками.
let title = 'Уроки JavaScript для начинающих';
let phone = '+7 900 000-00-00';
let message = 'Сегодня разбираем строки!';
Кавычки в строках
В JavaScript строку можно записать тремя способами:
let first = 'Одинарные кавычки';
let second = "Двойные кавычки";
let third = `Обратные кавычки`;
Одинарные и двойные кавычки работают почти одинаково. Главное - если строка началась одинарной кавычкой, закончиться она должна тоже одинарной. Если началась двойной - закончиться должна двойной.
Правильно:
let message = 'Привет';
Неправильно:
let message = 'Привет";
Во втором примере кавычки разные, поэтому JavaScript не поймет, где заканчивается строка.
Если внутри строки нужна кавычка, удобно выбрать другой тип кавычек снаружи:
let message = "Курс называется 'JavaScript для начинающих'";
Или наоборот:
let message = 'Книга называется "Выразительный JavaScript"';
Обратные кавычки мы подробнее разберем в отдельном уроке про шаблонные строки. Пока достаточно знать, что они тоже могут создавать строки.
Строка в переменной
Чаще всего строку записывают в переменную, чтобы потом использовать ее в коде несколько раз.
let greeting = 'Привет';
console.log(greeting);
console.log(greeting);
Если текст нужно поменять, меняем значение переменной:
let greeting = 'Привет';
greeting = 'Здравствуйте';
console.log(greeting);
В консоли будет:
Здравствуйте
Если значение не планируется менять, можно использовать const:
const siteName = 'LearnJS.ru';
console.log(siteName);
Так мы показываем, что новое значение в эту переменную записывать не собираемся.
Объединение строк
Строки можно объединять с помощью оператора +. Такой процесс часто называют конкатенацией.
let firstName = 'Алексей';
let message = 'Привет, ' + firstName;
console.log(message);
В консоли будет:
Привет, Алексей
Обратите внимание на пробел после запятой в строке ‘Привет, ’. JavaScript не добавляет пробелы сам. Если пробел нужен, его нужно написать вручную.
let first = 'JavaScript';
let second = 'курс';
console.log(first + second);
console.log(first + ' ' + second);
Результат:
JavaScriptкурс
JavaScript курс
В первом варианте строки склеились без пробела. Во втором мы добавили пробел отдельной строкой.
Строки и числа
Важно не путать число и строку с числом.
let first = 10;
let second = 5;
console.log(first + second);
Результат:
15
А теперь похожий пример, но значения в кавычках:
let first = '10';
let second = '5';
console.log(first + second);
Результат будет другим:
105
JavaScript увидел две строки и объединил их как текст. Поэтому получилось не 15, а 105.
Такая ошибка часто появляется после prompt(), потому что данные из него приходят строкой.
let age = prompt('Сколько вам лет?');
console.log(typeof age);
Даже если пользователь введет 25, типом значения будет string.
Длина строки
У строки есть свойство length. Оно показывает количество символов в строке.
let word = 'JavaScript';
console.log(word.length);
В консоли будет:
10
Пробелы тоже считаются символами.
let message = 'Привет мир';
console.log(message.length);
Результат:
10
В строке ‘Привет мир’ 9 букв и 1 пробел, всего 10 символов.
Символы строки
К отдельному символу строки можно обратиться по индексу. Индексы начинаются с нуля.
let word = 'JavaScript';
console.log(word[0]);
console.log(word[1]);
Результат:
J
a
Первый символ имеет индекс 0, второй - индекс 1, и так далее.
Последний символ можно получить через length - 1:
let word = 'JavaScript';
console.log(word[word.length - 1]);
В консоли будет:
t
Пока не обязательно часто использовать такую запись. Но важно понимать, что строка состоит из отдельных символов, и JavaScript умеет обращаться к ним по номеру.
Пустая строка
Пустая строка - это строка, в которой нет символов.
let message = '';
console.log(message.length);
Результат:
0
Пустая строка часто встречается в формах. Например, пользователь ничего не ввел в поле, и в переменной оказалась строка без символов.
Важно: пустая строка ” и строка с пробелом ’ ’ - это разные значения.
console.log(''.length);
console.log(' '.length);
Результат:
0
1
Частые ошибки
Первая ошибка - забыть кавычки.
let language = JavaScript;
JavaScript подумает, что JavaScript - это имя переменной. Если такой переменной нет, появится ошибка. Правильно так:
let language = 'JavaScript';
Вторая ошибка - ждать математического сложения от строк.
console.log('10' + '5');
Результатом будет 105, потому что строки объединяются.
Третья ошибка - забывать пробел при объединении строк.
let firstName = 'Ирина';
let lastName = 'Петрова';
console.log(firstName + lastName);
Получится:
ИринаПетрова
Нужно добавить пробел:
console.log(firstName + ' ' + lastName);
Четвертая ошибка - путать пустую строку и строку с пробелом. Визуально они могут быть похожи, но для JavaScript это разные значения.
Что дальше
Мы разобрали, что такое строки, как записывать их в кавычках, объединять, проверять длину и получать отдельные символы.
Дальше перейдем к числам. Там разберем, как JavaScript работает с целыми и дробными числами, что такое NaN и почему с вычислениями иногда нужно быть аккуратнее.