Frontend is a free bonus on CodeMentor AI β the main product is Python. Register to save your progress and unlock all 290 Frontend lessons + 1,000+ Python lessons.Sign up β free
TaskDeclare const name set to 'Anna' and const age set to 30. Use a template literal to log: 'Anna is 30 years old.'
Template literals: strings that breathe
50 XP5 minFREE
Theory
Old strings vs template literals
Pre-2015 JavaScript only had "double" and 'single' quotes:
const name = "Anna"; const greeting = "Hello, " + name + "!";
Modern JavaScript adds backtick strings:
const name = "Anna";
const greeting = \`Hello, ${name}!\`;Backticks let you:
- Embed expressions with
${ ... }. Any JavaScript expression works inside. - Span multiple lines without escapes β no
\nglue. - Mix quote types freely inside without escaping.
When to use which
"double"for strings without interpolation. Quickest to type, least friction.- \
backtick\when you need interpolation or multiple lines. 'single'is a style choice β pick one and stay consistent within a file. ESLint can enforce it.
Common newbie trap
You CAN put any expression inside ${ } β math, function calls, conditionals. That doesn't mean you should:
// readable
const total = items.reduce((s, i) => s + i.price, 0);
const msg = \`Total: $${total}\`;
// hard to read
const msg = \`Total: $${items.reduce((s, i) => s + i.price, 0)}\`;Split heavy work onto its own line. Template literals are for *gluing* values, not *computing* them.
Live preview
console output appears hereβ¦