Skip to main content

Command Palette

Search for a command to run...

Template Literals in JavaScript

Updated
4 min readView as Markdown

Strings are one of the most commonly used data types in JavaScript. Earlier, developers often used string concatenation with the + operator to combine variables and text. However, this approach sometimes made code difficult to read and maintain.

To solve this problem, JavaScript introduced Template Literals, a modern and more readable way to work with strings.

In this article, we will understand what template literals are, why they are useful, and how they improve the way we write strings in JavaScript.

Problems with Traditional String Concatenation

Before template literals, developers used the + operator to combine strings and variables.

Example:

const name = "Parth";
const age = 19;

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

Output:

My name is Parth and I am 19 years old.

Although this works, it becomes messy when the string becomes longer or when multiple variables are involved.

Example:

const city = "Mumbai";

const text = "Hello " + name + ", welcome to " + city + ". Your age is " + age + ".";

Problems with this approach:

  • Harder to read

  • Too many + operators

  • Difficult to maintain in large strings

Template Literal Syntax

Template literals were introduced in ES6 (ECMAScript 2015).

They use backticks (`) instead of single or double quotes.

Example:

const name = "Parth";

const message = Hello ${name};

console.log(message);

Here the string is written using backticks, and variables can be inserted directly using ${}.

Embedding Variables in Strings

One of the most powerful features of template literals is string interpolation.

Example:

const name = "Parth";

const age = 19;

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

console.log(message);

Output:

My name is Parth and I am 20 years old.

Visualization:

Template string

My name is ${name}

variable inserted

This makes the code cleaner and easier to understand.

Multi-line Strings

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

Old approach:

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

Using template literals:

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

Output:

Line 1
Line 2
Line 3

This makes multi-line strings much simpler.

Comparing Old vs Modern Approach

Traditional Concatenation

const name = "Parth";
const city = "Delhi";

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

Template Literals

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

Template literals are more readable and require less code.

Use Cases in Modern JavaScript

Template literals are widely used in modern JavaScript development.

  1. Dynamic HTML Creation const username = "Parth";

const html = <h1>Welcome ${username}</h1>;

2. Logging Messages

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

console.log(The price of \({product} is ₹\){price});

3. API Responses and UI Rendering

Template literals are frequently used in frontend frameworks and server responses.

const user = "Parth";

const greeting = Hello ${user}, your dashboard is ready!;

Benefits of Template Literals:

Using template literals provides several advantages:

Improves code readability

Reduces complex string concatenation

Makes multi-line strings easier

Simplifies inserting variables into strings

Widely used in modern JavaScript development

Conclusion

Template literals are a powerful feature introduced in modern JavaScript to make working with strings easier and more readable. By using backticks and ${} syntax, developers can insert variables, create multi-line strings, and write cleaner code.

Understanding template literals is essential for writing modern JavaScript applications and improving code readability.