У JavaScript шаблонні рядки дозволяють вбудовувати вирази в рядки тексту (англ. string), це також називають інтерполяцією рядків.
Ця можливість розширює функціональність вбудованого глобального обʼєкта String.
Ми можемо створювати шаблонні рядки в JavaScript, обертаючи текст у зворотні лапки. Вони дозволяють не лише включати до тексту символи нового рядка та інші спеціальні символи, а й вбудовувати змінні та інші вирази.
const num1 = 1;
const num2 = 2;
`Adding ${num1} and ${num2} gives ${num1 + num2}.`;
// => Adding 1 and 2 gives 3.
У наведеному вище прикладі зворотні лапки (``) використовуються для позначення шаблонного рядка. ${...} використовується як заповнювач для підстановки.
Будь-які типи, що не є рядками тексту, неявно перетворюються на рядки тексту.
Цю тему розглянуто в концепції перетворення типів.
З шаблонними рядками можна використовувати всі типи виразів.
const track = 'JavaScript';
`This track on exercism.org is ${track.toUpperCase()}.`;
// => This track on exercism.org is JAVASCRIPT.
Коли потрібно, щоб рядок тексту був відформатований на кілька рядків:
`This is an example of using template
strings to accomplish multiple
lines`;
Завдяки доступним можливостям підстановки ми також можемо додати логіку до процесу, щоб визначити, яким має бути вихідний рядок тексту.
Один зі способів реалізувати цю логіку полягає в тому, щоб скористатися тернарним оператором.
Це забезпечує ту саму функціональність умовної конструкції if/else, лише в трохи іншому форматі.
Щоб реалізувати логіку в синтаксисі шаблонних рядків:
const grade = 95;
`You have ${grade > 90 ? 'passed' : 'failed'} the exam.`;
// => You have passed the exam.