JavaScript Template Literals ES6

Template literals, introduced in ECMAScript 6 (ES6), provide an easy and readable way to work with strings in JavaScript. They allow for embedded expressions, multiline strings, and more, enhancing the capabilities of string handling compared to traditional methods.

Basic Syntax

Template literals use backticks (`) instead of single or double quotes. Here is a basic example:

Example: Basic Template Literal
Try yourself
        
            const name = "John";
const greeting = `Hello, ${name}!`;
console.log(greeting); // Output: Hello, John!
        
    

This example shows how to create a string using template literals.


String Interpolation

Template literals allow for embedding expressions within strings using the ${expression} syntax.

Example: String Interpolation
Try yourself
        
            const a = 5;
const b = 10;
console.log(`The sum of ${a} and ${b} is ${a + b}.`); // Output: The sum of 5 and 10 is 15.
        
    

This example demonstrates how to embed expressions within a string using template literals.


Multiline Strings

With template literals, you can create multiline strings easily without the need for escape characters.

Example: Multiline Strings
Try yourself
        
            const multiLineString = `This is a string
that spans across
multiple lines.`;
console.log(multiLineString);
        
    

This example shows how to create a multiline string using template literals.


Nesting Template Literals

You can nest template literals inside one another.

Example: Nested Template Literals
Try yourself
        
            const firstName = "John";
const lastName = "Doe";
const fullName = `${firstName} ${lastName}`;
const greeting = `Hello, ${fullName}! Welcome to our site.`;
console.log(greeting); // Output: Hello, John Doe! Welcome to our site.
        
    

This example demonstrates how to nest template literals within each other.


Tagged Templates

Tagged templates allow you to parse template literals with a function. The function can then perform operations on the parts of the template.

Example: Tagged Templates
Try yourself
        
            function tag(strings, ...values) {
    return strings[0] + values.map((value, index) => {
        return value + strings[index + 1];
    }).join('');
}

const name = "John";
const age = 30;
const message = tag`My name is ${name} and I am ${age} years old.`;
console.log(message); // Output: My name is John and I am 30 years old.
        
    

This example shows how to use tagged templates in JavaScript.


Important Notes

Here are some important notes and best practices for using template literals in JavaScript:


Summary

Template literals are a powerful feature introduced in ES6 that simplify string handling in JavaScript. By using template literals, you can create more readable, maintainable, and flexible code.