Text interpolation lets you show dynamic values inside your HTML easily. It helps your webpage update automatically when data changes.
Showing a user's name on a welcome message.
Displaying the current date or time that updates.
Showing the result of a calculation or variable.
Updating text based on user input instantly.
Displaying data fetched from an API.
Syntax
Svelte
<p>{variable}</p>
Use curly braces {} inside your HTML to insert JavaScript expressions or variables.
Svelte updates the displayed text automatically when the variable changes.
Examples
Shows the value of the variable name inside a paragraph.
Svelte
<p>Hello, {name}!</p>
Calculates and shows the sum of a and b directly in the text.
Svelte
<p>The sum is {a + b}</p>
Displays the current value of count, which can change over time.
Svelte
<p>{count} clicks</p>
Sample Program
This Svelte component shows a greeting with a name and a button. Each time you click the button, the count variable increases, and the displayed text updates automatically.
Svelte
<script>
let name = 'Alice';
let count = 0;
function increment() {
count += 1;
}
</script>
<main>
<h1>Hello, {name}!</h1>
<button on:click={increment}>Click me</button>
<p>You clicked {count} times.</p>
</main>
OutputSuccess
Important Notes
Text interpolation with {} works inside HTML elements and in attribute values like class or id.
You can put any JavaScript expression inside the curly braces, but keep it simple for readability.
Summary
Use {} to insert variables or expressions inside your HTML.
Svelte updates the displayed text automatically when data changes.
It makes your UI dynamic and interactive with very little code.
Practice
(1/5)
1. In Svelte, how do you display the value of a variable name inside your HTML?
easy
A. Use {name} inside the HTML to show the variable's value.
B. Use <name> tags around the variable.
C. Use $name directly in the HTML.
D. Use $(name) inside the HTML.
Solution
Step 1: Understand Svelte's text interpolation syntax
Svelte uses curly braces {} to insert variables or expressions inside HTML. To display the value of name, write {name} inside the HTML.
Final Answer:
Use {name} inside the HTML to show the variable's value. -> Option A
Quick Check:
Text interpolation = {name} [OK]
Hint: Remember: Curly braces {} show variables in Svelte [OK]
Common Mistakes:
Using $name instead of {name}
Trying to use HTML tags like <name>
Using parentheses like $(name)
2. Which of the following is the correct syntax to show the result of 2 + 3 inside a Svelte component?
easy
A. $(2 + 3)
B. {{2 + 3}}
C. {2 + 3}
D. <2 + 3>
Solution
Step 1: Recall Svelte's expression interpolation
Svelte allows expressions inside curly braces {} to be evaluated and shown. Only {2 + 3} correctly uses curly braces for expression evaluation; others are invalid.
Final Answer:
{2 + 3} -> Option C
Quick Check:
Expression in {} = {2 + 3} [OK]
Hint: Use curly braces {} for expressions, not $ or double braces [OK]
Common Mistakes:
Using $(2 + 3) which is invalid in Svelte
Using double curly braces {{}} like in other frameworks
Using angle brackets around expressions
3. What will be displayed when this Svelte code runs?
<script>
let count = 5;
</script>
<p>Count is: {count * 2}</p>
medium
A. Count is: 10
B. Count is: count * 2
C. Count is: 5
D. Count is: {count * 2}
Solution
Step 1: Evaluate the expression in the component
The variable count is 5, and count * 2 equals 10, so "Count is: 10" is displayed.
Final Answer:
Count is: 10 -> Option A
Quick Check:
count * 2 = 10 [OK]
Hint: Calculate expressions inside {} before display [OK]
Common Mistakes:
Showing the expression text instead of its value
Not multiplying and showing just the variable
Leaving braces visible in output
4. Identify the error in this Svelte code snippet:
<script>
let message = 'Hello';
</script>
<p>{message</p>
medium
A. Use parentheses instead of braces (message)
B. Variable 'message' is not declared
C. Curly braces should be double like {{message}}
D. Missing closing brace '}' after {message}
Solution
Step 1: Check the interpolation syntax
The code opens { but lacks closing } after message. Proper syntax is {message}.
Final Answer:
Missing closing brace '}' after {message} -> Option D
Quick Check:
Interpolation needs matching {} [OK]
Hint: Always close your curly braces {} in interpolation [OK]
Common Mistakes:
Forgetting the closing brace '}'
Using double braces {{}} which is invalid in Svelte
Not declaring the variable before use
5. You want to display a user's full name by combining firstName and lastName inside a Svelte component. Which code correctly shows "Full Name: John Doe" if firstName = 'John' and lastName = 'Doe'?
hard
A.
<script>
let firstName = 'John';
let lastName = 'Doe';
</script>
<p>Full Name: {firstName, ' ', lastName}</p>
B.
<script>
let firstName = 'John';
let lastName = 'Doe';
</script>
<p>Full Name: {firstName + ' ' + lastName}</p>
C.
<script>
let firstName = 'John';
let lastName = 'Doe';
</script>
<p>Full Name: {firstName & lastName}</p>
D.
<script>
let firstName = 'John';
let lastName = 'Doe';
</script>
<p>Full Name: {firstName.concat(lastName)}</p>
Solution
Step 1: Identify correct string concatenation
Svelte evaluates JS expressions in {}. Use +: {firstName + ' ' + lastName} gives "John Doe". Commas invoke comma operator (returns lastName), & is bitwise, concat(lastName) gives "JohnDoe" (no space).
Final Answer:
Full Name: {firstName + ' ' + lastName} -> Option B
Quick Check:
Use + to join strings inside {} [OK]
Hint: Use + to join strings inside {} for full text [OK]
Common Mistakes:
Using commas instead of + for concatenation
Using & which is a bitwise operator
Forgetting space between names
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.