How to use template literals and tagged templates in JavaScript
· Category: JavaScript
Short answer
Template literals use backticks for interpolation and multiline strings. Tagged templates let a function process the literal parts and values for custom formatting or sanitization.
Steps
- Basic interpolation:
javascript const name = "Ada"; const msg = `Hello, ${name}`; - Multiline strings:
javascript const html = ` <div> <p>Text</p> </div> `; - Tagged template:
javascript function highlight(strings, ...values) { return strings.reduce((acc, str, i) => { const val = values[i] ? `<b>${values[i]}</b>` : ""; return acc + str + val; }, ""); } const out = highlight`Value: ${42}`;
Tips
- Use
String.rawto ignore escape sequences. - Tagged templates are useful for SQL query builders and HTML sanitization.
Common issues
- Nesting template literals requires careful backtick escaping.
- Returning an object literal from an arrow function requires parentheses:
() => ({ a: 1 }).