Bird
Raised Fist0
Javascriptprogramming~5 mins

Template literals in Javascript

Choose your learning style10 modes available
Introduction

Template literals make it easy to create strings that include variables or expressions without confusing plus signs.

When you want to combine text and variables in a message.
When you need to write multi-line strings without extra symbols.
When you want to insert the result of a calculation inside a string.
When you want to create readable and clean string templates.
When you want to avoid messy string concatenation with + signs.
Syntax
Javascript
const message = `Hello, ${name}!`;

Use backticks (`) to start and end template literals, not single or double quotes.

Place variables or expressions inside ${} to insert their values.

Examples
Insert a variable inside the string to greet someone by name.
Javascript
const name = 'Alice';
const greeting = `Hello, ${name}!`;
console.log(greeting);
Insert a calculation directly inside the string.
Javascript
const a = 5;
const b = 3;
console.log(`Sum is ${a + b}`);
Create a string that spans multiple lines easily.
Javascript
const multiLine = `This is line one.
This is line two.`;
console.log(multiLine);
Sample Program

This program uses template literals to create a receipt message showing the customer name, number of items, and total price formatted with two decimals.

Javascript
const user = 'Bob';
const items = 3;
const price = 9.99;
const total = items * price;

const receipt = `Customer: ${user}
Items bought: ${items}
Total price: $${total.toFixed(2)}`;

console.log(receipt);
OutputSuccess
Important Notes

Template literals keep your code cleaner and easier to read compared to string concatenation.

You can put any JavaScript expression inside ${}, like math or function calls.

Backticks are required; using single or double quotes will not work for template literals.

Summary

Template literals use backticks and ${} to insert variables or expressions inside strings.

They make multi-line strings and string building simpler and clearer.

Use them whenever you want to combine text and values in a readable way.

Practice

(1/5)
1. What is the main purpose of using template literals in JavaScript?
easy
A. To comment code
B. To create arrays
C. To define functions
D. To easily insert variables and expressions inside strings

Solution

  1. Step 1: Understand what template literals do

    Template literals allow embedding variables and expressions inside strings using ${}.
  2. Step 2: Compare with other options

    Creating arrays, defining functions, and commenting code are unrelated to template literals.
  3. Final Answer:

    To easily insert variables and expressions inside strings -> Option D
  4. Quick Check:

    Template literals = insert variables in strings [OK]
Hint: Remember backticks and ${} insert variables easily [OK]
Common Mistakes:
  • Confusing template literals with arrays
  • Thinking template literals define functions
  • Using template literals for comments
2. Which of the following is the correct syntax for a template literal in JavaScript?
easy
A. "Hello, ${name}!"
B. 'Hello, ${name}!'
C. `Hello, ${name}!`
D.

Solution

  1. Step 1: Identify the correct delimiter for template literals

    Template literals use backticks (`), not single or double quotes.
  2. Step 2: Check the options

    Only `Hello, ${name}!` uses backticks correctly around the string with ${name}.
  3. Final Answer:

    `Hello, ${name}!` -> Option C
  4. Quick Check:

    Backticks + ${} = template literal [OK]
Hint: Template literals always use backticks (`) [OK]
Common Mistakes:
  • Using single or double quotes instead of backticks
  • Forgetting to use ${} for variables
  • Using angle brackets instead of quotes
3. What will be the output of the following code?
const name = "Alice";
const age = 25;
console.log(`Name: ${name}, Age: ${age + 5}`);
medium
A. Name: Alice, Age: 30
B. Name: Alice, Age: 25 + 5
C. Name: ${name}, Age: ${age + 5}
D. Name: Alice, Age: 25

Solution

  1. Step 1: Evaluate the expressions inside ${}

    The variable name is "Alice" and age + 5 equals 30.
  2. Step 2: Combine the string with evaluated values

    The template literal becomes "Name: Alice, Age: 30" when printed.
  3. Final Answer:

    Name: Alice, Age: 30 -> Option A
  4. Quick Check:

    Template literal evaluates expressions inside ${} [OK]
Hint: Expressions inside ${} are calculated before output [OK]
Common Mistakes:
  • Treating ${} as plain text
  • Not evaluating expressions inside ${}
  • Confusing string concatenation with template literals
4. Find the error in the following code snippet:
const user = "Bob";
console.log('Hello, ${user}!');
medium
A. Using single quotes instead of backticks for template literal
B. Missing semicolon after console.log
C. Variable user is not declared
D. Incorrect use of console.log function

Solution

  1. Step 1: Check string delimiters for template literals

    Template literals require backticks (`), but single quotes are used here.
  2. Step 2: Understand effect of wrong quotes

    Using single quotes treats ${user} as plain text, not variable substitution.
  3. Final Answer:

    Using single quotes instead of backticks for template literal -> Option A
  4. Quick Check:

    Backticks needed for ${} substitution [OK]
Hint: Use backticks, not quotes, for variable substitution [OK]
Common Mistakes:
  • Using single or double quotes instead of backticks
  • Expecting ${} to work inside normal quotes
  • Ignoring string delimiter rules
5. You want to create a multi-line string that includes a user's name and age using template literals. Which code correctly achieves this?
const name = "Eva";
const age = 28;
// Choose the correct code to print:
// Hello Eva,
// You are 28 years old.
hard
A. console.log(`Hello ${name},\nYou are ${age} years old.`);
B. console.log(`Hello ${name}, You are ${age} years old.`);
C. console.log('Hello ${name},\nYou are ${age} years old.');
D. console.log("Hello ${name},\nYou are ${age} years old.");

Solution

  1. Step 1: Identify correct use of template literals and multi-line strings

    Template literals allow multi-line strings directly without \n escape sequences.
  2. Step 2: Check each option

    console.log(`Hello ${name}, You are ${age} years old.`); uses backticks and writes the string on two lines, correctly showing multi-line output with variable substitution.
  3. Final Answer:

    console.log(`Hello ${name}, You are ${age} years old.`); -> Option B
  4. Quick Check:

    Backticks allow multi-line strings and ${} substitution [OK]
Hint: Use backticks and press Enter for multi-line strings [OK]
Common Mistakes:
  • Using quotes instead of backticks for multi-line
  • Using \n inside template literals unnecessarily
  • Not substituting variables inside quotes
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard