Skip to main content

Command Palette

Search for a command to run...

Template Literals in JavaScript

Updated
•4 min read•View as Markdown
Template Literals in JavaScript

JavaScript has evolved significantly over the years, and one of the most impactful improvements for writing clean and readable code is Template Literals.

If you’ve ever struggled with messy string concatenation using +, template literals will feel like a breath of fresh air.


The Problem with Traditional String Concatenation

Before ES6, developers relied heavily on the + operator to build strings.

let name = "John";
let age = 25;

let message = "My name is " + name + " and I am " + age + " years old.";
console.log(message);

Problems:

  • Hard to read as complexity increases

  • Easy to miss spaces or punctuation

  • Difficult to maintain in large applications

  • Becomes messy with dynamic values


Template Literals Syntax

Template literals use **backticks ()** instead of single (') or double ("`) quotes.

let name = "John";
let age = 25;

let message = `My name is \({name} and I am \){age} years old.`;
console.log(message);

Key Features:

  • Use backticks: `

  • Embed variables using ${}


Visual Comparison: Old vs Modern Approach

Image Image Image Image Image

Old Way (Concatenation)

let result = "Hello " + name + ", your score is " + score + ".";

New Way (Template Literals)

let result = `Hello \({name}, your score is \){score}.`;

Observation: The second approach is cleaner, easier to read, and closer to natural language.


Embedding Variables (String Interpolation)

Template literals allow you to inject variables directly into strings.

let product = "Laptop";
let price = 50000;

let info = `The price of \({product} is ₹\){price}.`;
console.log(info);

You can also use expressions:

let a = 10;
let b = 20;

console.log(`Sum is ${a + b}`);

Multi-line Strings Made Easy

Before template literals, multi-line strings required special characters like \n.

Old Way:

let text = "Line 1\nLine 2\nLine 3";

With Template Literals:

let text = `Line 1
Line 2
Line 3`;

console.log(text);

Multi-line Visualization

Image Image Image Image Image Image

Real-World Use Cases in Modern JavaScript

1. Dynamic HTML Generation

let user = "John";

let html = `
  <div>
    <h1>Welcome ${user}</h1>
    <p>This is your dashboard</p>
  </div>
`;

2. Logging & Debugging

let userId = 101;

console.log(`Fetching data for user ID: ${userId}`);

3. API Responses / Messages

function greet(name) {
  return `Hello ${name}, welcome back!`;
}

4. Conditional Rendering

let isLoggedIn = true;

let message = `User is ${isLoggedIn ? "logged in" : "logged out"}`;

Why Template Literals Matter

  • Improves readability

  • Reduces bugs from manual concatenation

  • Makes code cleaner and more maintainable

  • Essential for modern frameworks like React, Vue, and Node.js


Mental Model (Simple Way to Think)

Instead of:

"Build string piece by piece"

Think:

"Write the sentence normally and inject values where needed"


Final Thoughts

Template literals are not just syntactic sugar — they change the way you think about string construction in JavaScript.

If you're preparing for interviews or writing production-level code, using template literals is no longer optional — it's expected.


Quick Practice

Try converting this:

let name = "Alex";
let city = "Kolkata";

let sentence = "My name is " + name + " and I live in " + city + ".";

Into a template literal.

More from this blog