📖 Scenario: You are creating a simple program to display product prices in a friendly way for a small shop.
🎯 Goal: Learn how to format output text using template literals to show product names and prices clearly.
📋 What You'll Learn
Create a dictionary (object) with product names and prices
Create a variable for currency symbol
Use a for...in loop to format each product's output
Print the formatted output lines
💡 Why This Matters
🌍 Real World
Formatting output is important for making data easy to read in reports, invoices, or user interfaces.
💼 Career
Many jobs require displaying data clearly, especially in web development and software that shows prices or lists.
Progress0 / 4 steps
1
Create the products object
Create an object called products with these exact entries: "apple": 0.5, "banana": 0.3, "cherry": 0.2
Javascript
Hint
Use curly braces {} to create an object with keys and values.
2
Add a currency symbol variable
Create a variable called currency and set it to the string "$"
Javascript
Hint
Use const to create a variable that does not change.
3
Format the output lines
Use a for...in loop with variable product to go through products. Inside the loop, create a variable called line that uses a template literal to format the text as "Product: [product], Price: [currency][price]"
Javascript
Hint
Use backticks ` to create a template literal and insert variables with ${}.
4
Print the formatted output
Inside the for...in loop, add a console.log(line) statement to print each formatted line
Javascript
Hint
Use console.log() to show output in the console.
Practice
(1/5)
1. What is the correct way to include a variable name inside a string using template literals in JavaScript?
easy
A. console.log(`Hello, ${name}!`);
B. console.log('Hello, ' + name + '!');
C. console.log("Hello, ${name}!");
D. console.log('Hello, ${name}!');
Solution
Step 1: Understand template literals syntax
Template literals use backticks (`) and ${} to insert variables inside strings.
Step 2: Identify correct usage
console.log(`Hello, ${name}!`); uses backticks and ${name} correctly to embed the variable.
Final Answer:
console.log(`Hello, ${name}!`); -> Option A
Quick Check:
Backticks + ${} = correct template literal [OK]
Hint: Use backticks and ${variable} for easy variable insertion [OK]
Common Mistakes:
Using quotes instead of backticks for template literals
Forgetting ${} around variable
Using single or double quotes with ${} which won't interpolate
2. Which of the following is the correct syntax to print the number 5 and the word 'apples' in one line using template literals?
easy
A. console.log(`5 apples`);
B. console.log(`5 + apples`);
C. console.log('5 apples');
D. console.log(`5 ${apples}`);
Solution
Step 1: Check the use of template literals
Backticks allow strings with variables inside ${}, but here no variable is needed.
Step 2: Identify correct string
console.log(`5 apples`); correctly uses backticks with plain text '5 apples'.
Final Answer:
console.log(`5 apples`); -> Option A
Quick Check:
Backticks with plain text = valid string [OK]
Hint: Use backticks for strings even without variables [OK]
Common Mistakes:
Using quotes instead of backticks when template literals expected
Trying to insert undefined variable apples
Adding plus sign inside template literal as text
3. What will be the output of the following code?
const count = 3; console.log(`You have ${count} new messages.`);
The variable count inside ${} is replaced by its value 3.
Step 2: Evaluate the console.log output
The string becomes 'You have 3 new messages.' and prints exactly that.
Final Answer:
You have 3 new messages. -> Option C
Quick Check:
Variable inside ${} = replaced by value [OK]
Hint: Variables inside ${} show their value in template strings [OK]
Common Mistakes:
Thinking ${count} prints literally
Confusing quotes and backticks
Expecting variable name instead of value
4. Find the error in this code snippet:
let user = 'Anna'; console.log('Welcome, ${user}!');
medium
A. Missing semicolon after let declaration
B. Single quotes do not allow variable interpolation
C. Variable user is not declared
D. Backticks are missing around the string
Solution
Step 1: Check string quotes for interpolation
Single quotes ('') do not process ${} as variable placeholders.
Step 2: Identify correct string type for template literals
Backticks (`) are needed to enable variable interpolation.
Final Answer:
Single quotes do not allow variable interpolation -> Option B
Quick Check:
Use backticks for ${} interpolation [OK]
Hint: Use backticks, not single quotes, for ${} variables [OK]
Common Mistakes:
Thinking single quotes support ${} interpolation
Ignoring missing backticks
Assuming variable is undeclared
5. You want to print a message showing a user's name and age using template literals. The variables are name = 'Sam' and age = 25. Which code correctly formats the output as: Hello, Sam! You are 25 years old.
hard
A. console.log(`Hello, ${name}! You are age years old.`);
B. console.log('Hello, ' + name + '! You are ' + age + ' years old.');
C. console.log(`Hello, name! You are age years old.`);
D. console.log(`Hello, ${name}! You are ${age} years old.`);
Solution
Step 1: Use template literals with variables
Backticks and ${} allow embedding variables name and age inside the string.
Step 2: Check each option for correct variable usage
console.log(`Hello, ${name}! You are ${age} years old.`); correctly uses ${name} and ${age} to insert values.
Final Answer:
console.log(`Hello, ${name}! You are ${age} years old.`); -> Option D
Quick Check:
Backticks + ${var} for each variable = correct [OK]
Hint: Use ${variable} inside backticks for multiple variables [OK]
Common Mistakes:
Using variable names without ${} inside template literals
Mixing quotes and backticks incorrectly
Concatenating strings instead of using template literals
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.