BeginnerCoder

Lesson 22 — Template literal types (expert)

String types built from pieces

Template literal types use the same backtick syntax as template strings, but for types. With a union inside, TypeScript makes every combination: on${"Click" | "Hover"} is "onClick" | "onHover". Any other string is an error.

type Size = "sm" | "lg";
type ClassName = `btn-${Size}`; // "btn-sm" | "btn-lg"
const c: ClassName = "btn-lg";

Why it matters: event names, CSS classes and routes become exact and autocompleted instead of loose strings.

Want it another way?
Task

Define EventName as on + Action, and make handlerName build it. Expect onClick, then onHover.

Run your code — when the output matches the task, you will see a green check. Then mark the lesson complete.

← Back
Next →
Test your knowledge

A quick 3-question quiz on this lesson — instant feedback.

Enjoying this lesson? Share it.

Keep going with TypeScript Foundations

Ready for more? Optional paid resources that pick up where this lesson leaves off.

Some links on this page are affiliate links: we may earn a commission at no extra cost to you. As an Amazon Associate I earn from qualifying purchases.