📝 Template Literals = Clean Strings
String concatenation is messy. Template literals are clean. Embed expressions, multiline strings.
❌ Concatenation
const msg = 'Hello ' + name +
', you are ' + age + ' years old.';
✅ Template Literal
const msg = `Hello ${name},
you are ${age} years old.`;
📝 Template Literal Examples
// Basic
const name = 'Alice';
const age = 30;
const message = `Hello ${name}, you are ${age} years old.`;
// Multiline
const multiline = `
Line 1
Line 2
Line 3
`;
// Expressions
const price = 99.99;
const total = `Total: $${price * 1.2}`;
// Function calls
const date = `Today is ${new Date().toLocaleDateString()}`;
// Nested templates
const user = {
name: 'Alice',
address: {
city: 'NYC'
}
};
const city = `City: ${user?.address?.city ?? 'Unknown'}`;
// Tagged templates
function highlight(strings, ...values) {
return strings.reduce((result, str, i) =>
result + str + (values[i] ? `${values[i]}` : ''), '');
}
const result = highlight`Hello ${name}, you are ${age} years old.`;
// HTML generation
const html = `
<div class="card">
<h3>${user.name}</h3>
<p>Age: ${user.age}</p>
<p>Email: ${user.email}</p>
</div>
`;
// Conditional
const status = `User is ${isActive ? 'active' : 'inactive'}`;
💡 Template Literal Tips
- Use backticks (`) not quotes
- Embed expressions with ${}
- Multiline without \n
- Use tagged templates for HTML
- Cleaner than concatenation
“Template literals make strings clean. Embed expressions, multiline. Essential for modern JS.”
