Модульні уроки (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"';Ескейп-символи
У будь-який рядок можна вставляти «недруковані» символи з a зворотна коса риска:
\n— новий рядок\t— вкладка\\— літеральний зворотний слеш\'/\"— одинарні/подвійні лапки
console.log('line 1\nline 2');
// line 1
// line 2Літерали шаблону: синтаксис, який ви хочете використовувати за замовчуванням
Зворотні галочки відкривають дві речі, які неможливі з іншими роздільниками:
- Багаторядкові рядки без символів екранування: дозволені буквальні символи нового рядка.
- Інтерполяція: всередині
${ … }ви можете розмістити будь-який вираз 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`, поверніть як останній вираз рядок 'Totale: 10,7 euro'.
Показати підказку
Всередині ${...} можна розмістити будь-який вираз, включаючи p1 + p2.
Рішення доступне після 3 спроб