Type Inference & any vs unknown
See how TypeScript infers types, the difference between any and unknown, and how const changes inference.
Type Inference & any vs unknown is a free TypeScript Academy lesson on CoddyKit — lesson 2 of 3. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the TypeScript Academy learning path, one of 3 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Intro
Goal: Learn how TS infers types from values, and compare any vs unknown for safety.
Inference with let & const
Inference: let infers a broad type (number). const infers a literal type ("TS").
let count = 5;
// inferred number
const title = "TS";
// inferred literal type "TS"
console.log(count, title);as const
as const preserves literal types, freezing values as readonly. Useful for enums and config arrays.
const colors = ["red", "green", "blue"] as const;
// type is readonly ["red","green","blue"]
console.log(colors);any type
any disables type checking. It gives freedom but removes safety: mistakes compile and crash at runtime.
let flexible: any = 42;
lexible = "hello";
flexible.nonexistentMethod();
// no error at compile time!unknown type
unknown forces you to check type before usage. Safer than any because you cannot call methods blindly.
let input: unknown = "hello";
// Must narrow before use
if (typeof input === "string") {
console.log(input.toUpperCase());
}When to use
Guideline: Prefer inference for most variables. Use explicit annotations for clarity. Avoid any; prefer unknown when type is not known yet.
any vs unknown check
Quick check: What is the main difference between any and unknown?
Recap
Recap: TS infers types automatically. const narrows to literals, as const locks values. any disables safety; unknown enforces checks.
Frequently asked questions
Is the “Type Inference & any vs unknown” lesson free?
Yes — the full text of “Type Inference & any vs unknown” is free to read here on the web, and the TypeScript Academy course includes 3 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the TypeScript Academy course, upgrade to CoddyKit PRO.
What will I learn in “Type Inference & any vs unknown”?
See how TypeScript infers types, the difference between any and unknown, and how const changes inference. You practise TypeScript Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start TypeScript Academy?
No prior experience is required. TypeScript Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 3, so you can start here or from the beginning and move at your own pace.
How long does the “Type Inference & any vs unknown” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this TypeScript Academy lesson?
Yes. Every TypeScript Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Primitive Types & Annotations
- Type Inference & any vs unknown
- Union & Literal Types (basic narrowing intro)