Строки и шаблонные строки
"5" + 3 даёт "53", а не 8. Когда с одной стороны от + стоит строка, JavaScript соединяет текст, а не складывает числа.
Текст в программе
Имена, сообщения, адреса, пароли и целые веб-страницы являются текстом, и JavaScript хранит текст в виде строк. Строка представляет собой последовательность символов в кавычках. JavaScript принимает три вида кавычек: двойные "вот так", одинарные 'вот так' и обратные `вот так`. Первые два вида ведут себя одинаково. Обратные кавычки создают шаблонную строку, у которой есть дополнительные возможности, о них ниже.
Если в тексте есть кавычка одного вида, оберни его кавычками другого вида: "It's late" работает, потому что апостроф не является двойной кавычкой. Ещё можно поставить перед кавычкой обратную косую черту, чтобы сказать «эта кавычка является частью текста»: 'It\'s late'. Обратная косая черта и буква n, то есть \n, означают перенос строки внутри строки.
Длина и позиции
Каждая строка знает, сколько в ней символов: "JavaScript".length равно 10. У каждого символа есть и позиция, она называется индексом, и счёт начинается с 0, а не с 1. Так что в "JavaScript" индекс 0 у J, индекс 4 у S, а последний индекс 9, на единицу меньше длины. Один символ читают с помощью квадратных скобок: word[0]. Счёт с 0 сначала кажется странным, но так считает большинство языков программирования, и ты снова встретишь это в массивах.
const word = "JavaScript";
console.log(word.length); // 10
console.log(word[0]); // J
console.log(word[word.length - 1]); // tПолезные методы строк
У строк есть встроенные инструменты, которые называются методами; их вызывают через точку после строки. toUpperCase() и toLowerCase() возвращают копию заглавными или строчными буквами. includes("Script") отвечает true или false в зависимости от того, встречается ли этот текст внутри. slice(0, 4) возвращает символы от индекса 0 до индекса 4, не включая его, а в "JavaScript" это "Java". trim() убирает пробелы с обоих концов, это удобно, чтобы почистить то, что ввёл человек. Ни один из этих методов не меняет исходную строку. Строки в JavaScript нельзя изменить на месте; методы всегда возвращают новую строку.
Соединение строк с помощью +
Оператор + соединяет строки одну за другой, это называется конкатенацией. "Hello, " + "Mina" даёт "Hello, Mina". Пробелы сами не добавляются, так что ставь их внутри кавычек. А вот ловушка из начала урока: если с любой стороны от + стоит строка, JavaScript превращает другую сторону в строку и соединяет их. "5" + 3 даёт "53". Другие арифметические операторы текст не соединяют, поэтому "5" * 2 превращает "5" в число и даёт 10. Чтобы превратить строку из цифр в настоящее число, используй Number("5").
Шаблонные строки
Собирать предложение через + быстро становится неудобно: name + " is " + age + " years old." требует внимательно расставить пробелы и кавычки. Шаблонная строка, записанная в обратных кавычках, позволяет вставлять значения прямо в текст через ${ }. Всё, что внутри фигурных скобок, вычисляется как выражение, и результат попадает в строку. Шаблонные строки могут занимать и несколько строк.
const name = "Mina";
const age = 14;
console.log(`${name} is ${age} years old.`); // Mina is 14 years old.
console.log(`Next year: ${age + 1}`); // Next year: 15Разобранный пример. На ценнике в магазине должно быть "3 apples cost 4.5". При const n = 3, price = 1.5; шаблон `${n} apples cost ${n * price}` делает это в одну строку, а умножение происходит внутри фигурных скобок.
Обратные кавычки вокруг текста, знак доллара и фигурные скобки вокруг каждого значения: `Hi ${name}`
| string | Текст в кавычках или обратных кавычках |
| индекс | Позиция символа, счёт с 0 |
| .length | Сколько символов в строке |
| конкатенация | Соединение строк с помощью + |
| шаблонная строка | Строка в обратных кавычках с местами ${ } |
| метод | Инструмент, который вызывают через точку: word.toUpperCase() |
| slice(a, b) | Символы от индекса a до b, не включая b |
| экранирование \n | Перенос строки внутри строки |
- Что выведет этот код?
console.log("5" + 3); - Что выведет этот код?
console.log("5" * 3); - Что выведет этот код?
console.log("cat".length); - Что выведет этот код?
const s = "Seoul"; console.log(s[1]); - Что выведет этот код?
console.log("JavaScript".slice(4, 10)); - Что выведет этот код?
const a = 2; const b = 3; console.log(`${a} + ${b} = ${a + b}`);- 2 + 3 = 5
- ${a} + ${b} = ${a + b}
- 2 + 3 = 23
- Что выведет этот код?
console.log("Hi" + " " + "there".toUpperCase()); - Что выведет этот код?
console.log("banana".includes("nan"));- true
- false
- Что выведет этот код?
console.log(1 + 2 + "3"); - Что выведет этот код?
console.log(Number("7") + 1); - Какой последний индекс у строки длины 6?
- Строки пишут в "двойных", 'одинарных' или `обратных` кавычках.
- Индексы начинаются с 0; последний индекс равен length - 1.
- Методы вроде toUpperCase, includes, slice и trim возвращают новые строки.
- Если с любой стороны от + стоит строка, + соединяет текст.
- Шаблонные строки: `текст ${выражение} текст`.
Источники курса (2)
- MDN Web Docs, JavaScript Guide (developer.mozilla.org/en-US/docs/Web/JavaScript/Guide, chapters Introduction, Grammar and types, Control flow, Loops and iteration, Functions, Expressions and operators, Numbers and strings, Indexed collections, Working with objects; checked 2026-10-17)
- Ecma International, ECMA-262 ECMAScript 2026 Language Specification, 17th edition, June 2026 (tc39.es/ecma262 and ecma-international.org/publications-and-standards/standards/ecma-262, checked 2026-10-17)
Проверено: 2026-10-17