• Теория
  • Теория

Конкатенация

В прошлых заданиях мы использовали числа и арифметические операции, но у каждого типа данных свои операции. Например, арифметические операции можно производить с числами, но не со строками.

Самая частая строковая операция — это «склеивание» строк, или конкатенация:

let name = 'Кекс';

// Обратите внимание на пробелы
'Инструктор' + 'Кекс';  // Результат: 'ИнструкторКекс'
'Инструктор ' + 'Кекс'; // Результат: 'Инструктор Кекс'
'Инструктор ' + name;   // Результат: 'Инструктор Кекс'

Для склеивания строк используется тот же знак, что и для сложения чисел, — плюс. Как JavaScript понимает, какую операцию применить, сложение или конкатенацию? Он смотрит на тип операндов: если это строки, то они склеиваются, если это числа, то они складываются.

Но что будет, если операнды разного типа? Например:

'Время, мин: ' + 50; // Результат: 'Время, мин: 50'
'2' * 50;            // Результат: 100

В этом случае JavaScript попытается привести операнды к одному типу и выполнить операцию. Подходящий тип будет выбираться в зависимости от операции.

Плюс может быть знаком сложения или конкатенации, но так как один из операндов — строка, то сложение не подходит. Поэтому число 50 приводится к строке '50' и склеивается со строкой 'Время, мин: '.

Звёздочка — это знак умножения, со строками она не используется. Поэтому JavaScript пытается превратить строку '2' в число, и ему это удаётся. Затем числа 2 и 50 перемножаются, и получается 100.

Из-за того, что JavaScript умеет изменять тип операндов на лету, он называется языком со слабой типизацией. Конечно, есть много тонкостей и проблем с приведением типов. Мы подробно разберём этот вопрос в следующих частях. А сейчас условимся, что в наших первых программах проблем с приведением типов не будет, так как программы простые, а пользователи вводят данные аккуратно.

Вернёмся к конкатенации. Зачем её используют? Конкатенация позволяет делать сообщения программ более информативными и «человечными». Убедимся в этом на практике.

Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Основы программирования на JavaScript» тренажёра «Программирование на JavaScript — основы языка» можно после регистрации и оформления подписки.