Skip to main content

Command Palette

Search for a command to run...

Template Literals in JavaScript

Writing Cleaner and More Powerful Strings

Updated
•View as Markdown
Template Literals in JavaScript

As your JavaScript code grows, even small things like handling strings can start affecting readability.

At the beginning, string concatenation feels simple. But as soon as your logic becomes slightly complex, it quickly turns messy.


The Problem with Traditional String Concatenation

Let’s look at a simple example.

const name = "Shikhar";
const age = 25;

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

console.log(message);

This works fine.

But as the number of variables increases, the code becomes harder to read and maintain.

const message = "User " + name + " is " + age + " years old and lives in " + city + ".";

You have to constantly manage quotes, spaces, and plus signs.

This is where template literals make things much cleaner.


What Are Template Literals?

Template literals are a modern way to work with strings in JavaScript.

They use backticks instead of quotes.

const message = `Hello World`;

This small change unlocks a lot of powerful features.


Embedding Variables in Strings

The biggest advantage of template literals is string interpolation.

Instead of using +, you can directly embed variables inside the string.

const name = "Shikhar";
const age = 25;

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

console.log(message);

This reads naturally and is much easier to understand.


Expressions Inside Template Literals

You are not limited to just variables.

You can also use expressions.

const a = 10;
const b = 20;

const result = `The sum is ${a + b}`;

console.log(result);

JavaScript evaluates the expression inside ${}.


Multi-line Strings

With traditional strings, writing multi-line text is not straightforward.

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

With template literals, you can write it naturally.

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

console.log(text);

This is much cleaner and easier to read.


Comparing Before and After

Traditional approach:

const message = "Hello " + name + ", welcome to " + city + ".";

Template literals:

const message = `Hello \({name}, welcome to \){city}.`;

The second version is shorter, clearer, and easier to maintain.


Real-World Use Cases

Template literals are used everywhere in modern JavaScript.

For example, logging:

const user = "Shikhar";
console.log(`User ${user} logged in successfully`);

Or creating dynamic content:

const product = "Laptop";
const price = 50000;

const output = `The price of \({product} is ₹\){price}`;

Even in frontend development, template literals are used to build HTML structures.

const html = `<div>
  <h1>${name}</h1>
</div>`;

Why Template Literals Matter

They improve:

  • readability

  • maintainability

  • developer experience

Instead of managing symbols like + and quotes, you focus on the actual content.


Common Mistakes

One common mistake is forgetting to use backticks and using quotes instead.

Another is incorrect usage of ${} syntax.

Also, overusing complex expressions inside template literals can reduce readability.


Final Thought

Template literals may seem like a small feature, but they significantly improve how you write and read JavaScript code.

They remove unnecessary complexity and make your code more expressive.

Once you start using them, going back to traditional string concatenation feels unnecessary.

Production Ready JavaScript

Part 2 of 2

Production-Ready JavaScript is a practical series focused on helping you move from writing basic code to building real-world, scalable applications. You’ll learn best practices, clean code principles, performance optimization, debugging techniques, and patterns used by professional developers to write maintainable and efficient JavaScript code.

Start from the beginning

JavaScript Modules: Import and Export Explained

As your applications grow, one problem starts appearing very quickly. Your code becomes too big to manage. At the beginning, writing everything in a single file feels fine. But as features increase, t