JavaScript: Переменные и конкатенация
Ранее мы уже склеивали строки напрямую, используя конкатенацию. Теперь сделаем то же самое, но с использованием переменных. Хорошая новость: синтаксис остаётся тем же. Просто подставляются значения переменных.
Склеиваем две строки напрямую
const what = 'Kings' + 'road';
console.log(what); // => KingsroadЗдесь всё просто: две строки соединяются в одну. Так работает конкатенация: оператор + складывает строки, создавая новую строку.
Склеиваем строку и переменную
Если в переменной first лежит строка 'Kings', мы можем спокойно склеить её с другой строкой:
const first = 'Kings';
const what = first + 'road';
console.log(what); // => KingsroadJavaScript подставит значение переменной, выполнит операцию и создаст итоговую строку.
Склеиваем две переменные
Точно так же можно объединить значения двух переменных, если обе содержат строки:
const first = 'Kings';
const last = 'road';
const what = first + last;
console.log(what); // => KingsroadМожно добавлять и пробелы:
const full = first + ' ' + last;
console.log(full); // => Kings roadfirst = 'Kings'
last = 'road'
first + ' ' + last
└─┬──┘ └─┬┘
'Kings' + ' ' + 'road'
└────────┬─────────┘
'Kings road'А что если переменная содержит число?
В JavaScript оператор + ведёт себя по-особенному, когда с одной стороны строка, а с другой — число. В этом случае число автоматически превращается в строку, и происходит конкатенация:
const age = 42;
console.log('Age: ' + age); // => Age: 42То же самое касается переменных с результатами вычислений:
const price = 50 * 1.25 * 6.91; // => 431.875
console.log('Price in yuans: ' + price); // => Price in yuans: 431.875Существует и явное преобразование числа в строку с помощью String() — разберём его в уроке про приведение типов.
Задание
Напишите программу, которая формирует и выводит приветственное письмо. Используйте только два вызова console.log().
Определите переменные:
firstName='Anna'greeting='Hello'intro='Thank you for your order.'info='Expected delivery date — 3 business days.'
Ожидаемый вывод:
Hello, Anna!
Thank you for your order.
Expected delivery date — 3 business days.Полезное
Подумайте, с какой строкой и в каком порядке нужно склеивать переменные, чтобы получить такой двухстрочный вывод тела письма.
Помните, что можно создать строку, которая содержит только управляющую последовательность
\n.
JavaScript: Переменные и конкатенация
Ранее мы уже склеивали строки напрямую, используя конкатенацию. Теперь сделаем то же самое, но с использованием переменных. Хорошая новость: синтаксис остаётся тем же. Просто подставляются значения переменных.
Склеиваем две строки напрямую
const what = 'Kings' + 'road';
console.log(what); // => KingsroadЗдесь всё просто: две строки соединяются в одну. Так работает конкатенация: оператор + складывает строки, создавая новую строку.
Склеиваем строку и переменную
Если в переменной first лежит строка 'Kings', мы можем спокойно склеить её с другой строкой:
const first = 'Kings';
const what = first + 'road';
console.log(what); // => KingsroadJavaScript подставит значение переменной, выполнит операцию и создаст итоговую строку.
Склеиваем две переменные
Точно так же можно объединить значения двух переменных, если обе содержат строки:
const first = 'Kings';
const last = 'road';
const what = first + last;
console.log(what); // => KingsroadМожно добавлять и пробелы:
const full = first + ' ' + last;
console.log(full); // => Kings roadfirst = 'Kings'
last = 'road'
first + ' ' + last
└─┬──┘ └─┬┘
'Kings' + ' ' + 'road'
└────────┬─────────┘
'Kings road'А что если переменная содержит число?
В JavaScript оператор + ведёт себя по-особенному, когда с одной стороны строка, а с другой — число. В этом случае число автоматически превращается в строку, и происходит конкатенация:
const age = 42;
console.log('Age: ' + age); // => Age: 42То же самое касается переменных с результатами вычислений:
const price = 50 * 1.25 * 6.91; // => 431.875
console.log('Price in yuans: ' + price); // => Price in yuans: 431.875Существует и явное преобразование числа в строку с помощью String() — разберём его в уроке про приведение типов.
Задание
Напишите программу, которая формирует и выводит приветственное письмо. Используйте только два вызова console.log().
Определите переменные:
firstName='Anna'greeting='Hello'intro='Thank you for your order.'info='Expected delivery date — 3 business days.'
Ожидаемый вывод:
Hello, Anna!
Thank you for your order.
Expected delivery date — 3 business days.Полезное
Подумайте, с какой строкой и в каком порядке нужно склеивать переменные, чтобы получить такой двухстрочный вывод тела письма.
Помните, что можно создать строку, которая содержит только управляющую последовательность
\n.
Ваше упражнение проверяется по этим тестам
// @ts-check
import { expect, test, vi } from 'vitest';
test('variable concatenation', async () => {
const consoleLogSpy = vi.spyOn(console, 'log');
await import('./index.js');
const firstArg = consoleLogSpy.mock.calls.join('\n');
expect(firstArg).toBe(
'Hello, Anna!\nThank you for your order.\nExpected delivery date — 3 business days.',
);
});Решение учителя откроется через:
20:00
