Type Annotations
Learn Type Annotations
A type annotation declares what kinds of values a variable, parameter or return value should accept.
In this lesson, you will study the rule, run a complete TypeScript example, explain its output, and test a small change.
What you’ll learn
- Explain the main rule behind type annotations.
- Predict the result of the complete runnable TypeScript example.
- Recognize one common mistake and correct it.
Understand the concept
Write a colon followed by a type after a declaration name, as in price: number. Annotation errors are caught during checking; the annotation is removed from ordinary emitted JavaScript. Good annotations clarify public boundaries, while inferred types often suffice for local expressions.
See the concept visually
Use the diagram to locate the checks, values or branches involved in the example.
Run a complete TypeScript example
Save this code as main.ts or paste it into the TypeScript Playground. The example uses fixed values so it runs without prompting for input.
TypeScript code
function label(name: string, amount: number): string {
return `${name}: ${amount}`;
}
console.log(label("Pens", 40));Verified output
Pens: 40How to run locally: npx tsc --strict --target es2022 --module commonjs main.ts, then node main.js. When using a project configuration, run the matching project build instead.
Trace the execution
The function accepts one string and one number according to its declared parameter types and returns a string. At runtime template interpolation builds the label.
Predict the output before you run the sample. Compare each line with the source expression that produced it, and distinguish the type checker’s work from what happens in JavaScript at runtime.
Common mistakes and how to avoid them
Do not confuse string with String objects or expect annotations to parse text as numbers.
Debugging habit: when a change is rejected, read the exact compiler diagnostic and inspect the operand types. When it compiles but behaves unexpectedly, follow the values through the JavaScript expressions.
Practice it yourself
Change the return type to number without changing the body, then inspect the error. Restore string and try swapping the call arguments.
Challenge: write down your prediction first, run the changed source, and explain any difference. Return to the verified version before continuing.
Check your understanding
Review the key idea
Type Annotations: Write a colon followed by a type after a declaration name, as in price: number.
An annotation is a rule for the checker, not a runtime conversion.
Before continuing, be able to explain what is checked before execution and what actually changes at runtime in the example above.
Reaching the recap and completing the quizzes are separate milestones.