Teyro
CoursesFor creatorsBlog
Log inGet started
Tey Mascot
LOADING.

Every expert you admire was once a beginner who refused to quit.

Teyro

The fun way to finish learning coding and AI: short daily lessons with streaks, leagues and friends.

Get the app

Learn

  • All courses
  • Learn coding
  • Learn AI
  • Learn online
  • How it works
  • Leagues
  • Get the app

Creators

  • Teach on Teyro
  • How teaching works
  • Teach coding online
  • Teach AI online
  • Join as a Founding Creator
  • Creator log in

Resources

  • Blog
  • Features
  • Use cases
  • Compare
  • FAQ

Legal

  • Terms of Use
  • Privacy Policy

© 2026 Teyro · support@teyro.app

HomeBlogSkill Building & Careers
Skill Building & Careers

any vs unknown in TypeScript: Which to Use and Why

any turns off type checking. unknown forces you to check first. Learn the difference, examples and why unknown is safer for data you do not control.

The Teyro TeamOct 26, 20261 min read
On this page6 sections
  1. Direct answer
  2. Example
  3. Good use for unknown
  4. Where Teyro fits
  5. The bottom line
  6. More guides

any says "trust me". unknown says "prove it".

Direct answer

Use unknown instead of any when you do not know a value's type. any allows anything and turns off checking. unknown accepts any value but you must narrow it with checks before using it.

Example

let a: any = "hello";
a.toFixed(); // no error, crashes at runtime

let u: unknown = "hello";
// u.toUpperCase();  // error
if (typeof u === "string") {
  u.toUpperCase();   // fine
}

Good use for unknown

function parse(text: string): unknown {
  return JSON.parse(text);
}

try {
  // ...
} catch (error: unknown) {
  if (error instanceof Error) console.log(error.message);
}

Where Teyro fits

Teyro's TypeScript for Beginners course turns this into short lessons you can play in a few minutes a day. It has 20 lessons, and you can start free.

The bottom line

Prefer unknown. Treat any as a last resort.

More guides

  • TypeScript With React
  • TypeScript Type Assertions
  • Optional Chaining and Nullish Coalescing in TypeScript
  • Typescript type guards
  • TypeScript for Beginners course

Frequently asked questions

What is the difference between any and unknown?

any disables type checking. unknown accepts any value but requires you to narrow it before use.

Why avoid any?

It removes type safety and hides bugs.

When should I use unknown?

For values from outside your code, such as parsed JSON or caught errors.

Learn it by playing

TypeScript for Beginners turns this into short, playable lessons. Free to start.

See the TypeScript for Beginners course

Free to start · No credit card needed

Share

Written by

The Teyro Team

Learning Team at Teyro

We build Teyro — an AI-powered learning platform that turns skill-building into a daily habit through bite-sized, gamified lessons. We write about the learning science and study strategies that shape our product.

More from The Teyro Team

On this page

  • Direct answer
  • Example
  • Good use for unknown
  • Where Teyro fits
  • The bottom line
  • More guides

Keep reading

Skill Building & Careers

Best Careers for 2027: High-Demand Jobs and the Skills to Get Them

The best careers for 2027 and the jobs most in demand, based on BLS and World Economic Forum data, plus the skills each path needs.

Oct 30, 20263 min read
Skill Building & Careers

Best Certifications for 2027: Tech, Data, Cloud and Business

The best certifications for 2027 in cloud, security, data, project management and AI, who each one suits, and when a portfolio matters more.

Oct 30, 20263 min read
Skill Building & Careers

Best Programming Language to Learn in 2027 (for Your Goal)

The best programming language to learn in 2027 depends on what you want to build. Compare Python, JavaScript, TypeScript, SQL and C.

Oct 30, 20263 min read