Skip to main content

Command Palette

Search for a command to run...

Template Literals in JavaScript

Updated
•3 min read•View as Markdown
Template Literals in JavaScript
S
Software Developer | Full Stack Developer |

Introduction

Working with strings is something every JavaScript developer does daily. But if you’ve ever used + for concatenation, you know how messy things can get.

That’s where template literals come in — a modern, cleaner, and more readable way to handle strings in JavaScript.

Problems with Traditional String Concatenation

Before template literals, we used the + operator:

const name = "Alice";
const age = 25;

const message = "My name is " + name + " and I am " + age + " years old.";

Issues:

  • Hard to read when strings get longer

  • Easy to make mistakes with quotes and spaces

  • Poor maintainability

  • Becomes ugly with nested expressions

What are Template Literals?

Template literals are string literals enclosed by backticks ( ) instead of quotes.

const message = `Hello World`;

Template Literal Syntax

`string text ${expression} string text`
  • Use backticks ( )

  • Use ${} to embed expressions

Embedding Variables in Strings (String Interpolation):

Instead of concatenation:

const name = "Alice";
const age = 25;

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

Why it’s better:

  • Cleaner syntax

  • Easier to read

  • Less error-prone

Multi-Line Strings

Before:

const text = "This is line 1\n" +
             "This is line 2\n" +
             "This is line 3";

With template literals:

const text = `This is line 1
This is line 2
This is line 3`;

No \n, no + — just natural writing.

Use Cases in Modern JavaScript

  1. Dynamic HTML Generation:
const user = { name: "Shahbaz", age: 25 };

const card = `
  <div>
    <h2>${user.name}</h2>
    <p>Age: ${user.age}</p>
  </div>
`;
  1. Logging & Debugging:
console.log(`User \({name} logged in at \){new Date()}`);
  1. Expressions Inside Strings:
const a = 10;
const b = 20;

console.log(`Sum is ${a + b}`);
  1. Conditional Rendering:
const isLoggedIn = true;

const status = `User is ${isLoggedIn ? "Online" : "Offline"}`;

Why You should use Template Literals?

  • Improves readability

  • Reduces bugs

  • Cleaner syntax

  • Better for dynamic content

  • Standard in modern JavaScript (ES6+)

Conclusion

Template literals aren’t just a syntax upgrade — they fundamentally improve how you write and think about strings in JavaScript.

If you're still using + for concatenation, it's time to switch.

Debunking Fundamentals of JavaScript

Part 18 of 25

This series contains various blogs which explain the basics of javascript from scratch and give an inside working structure of the scripting language.

Up next

Callbacks in JavaScript

Why They Exist?