Уроки модуля (1/4)
Строки и литералы шаблонов
Строки — это последовательности символов. В JavaScript вы можете разделить их тремя способами, все эквивалентны двигателю, но с одной сверхспособностью зарезервировано для обратных кавычек:
'single quotes';
'double quotes';
`backticks — template literals`;Одинарные и двойные кавычки взаимозаменяемы: используйте то, что позволяет. не экранируйте другой символ в тексте:
'L\'isola'; // the apostrophe needs to be escaped
"L'isola"; // here it doesn't
"He said \"hi\"";
'He said "hi"';Escape-персонажи
Внутри любой строки вы можете вставлять «непечатаемые» символы с помощью обратная косая черта:
\n— новая строка\t— вкладка\\— буквальная обратная косая черта\'/\"— буквальные одинарные/двойные кавычки
console.log('line 1\nline 2');
// line 1
// line 2Литералы шаблона: синтаксис, который вы хотите использовать по умолчанию.
Обратные кавычки открывают две вещи, которые невозможно сделать с другими разделителями:
- Многострочные строки без escape-символов: допускаются буквальные символы новой строки.
- Интерполяция: внутри
${ … }вы можете разместить любое JS-выражение и его значение вставляется в результат.
const nome = 'Anna';
const eta = 28;
const messaggio = `Ciao ${nome}, hai ${eta} anni.
Fra un anno ne avrai ${eta + 1}.`;Выражение внутри ${ … } не обязательно должно быть простым именем: оно может быть
все, что создает значение, включая вызовы функций и операторы.
Объединение с +
Исторически строки составлялись с помощью +. Это все еще работает и полезно
в редких случаях (например, построение строки в несколько этапов):
const a = 'Ciao';
const b = 'mondo';
a + ', ' + b + '!'; // 'Ciao, mondo!'Попробуйте это
Учитывая `name = 'Luca'` и `age = 30`, составьте с помощью шаблонного литерала строку "Luca ha 30 anni". (именно этот текст) в качестве последнего выражения.
Показать подсказку
Используйте обратные кавычки и интерполяцию ${...} для вставки значений в строку.
Решение доступно после 3 попыток
Обзор упражнения
Учитывая две цены `p1 = 7,5` и `p2 = 3,20`, верните в качестве последнего выражения строку "Итого: 10,7 евро".
Показать подсказку
Внутри ${...} вы можете поместить любое выражение, включая p1 + p2.
Решение доступно после 3 попыток