Static types for props, state, and API shapes.
Static types for props, state, and API shapes.
TypeScript adds static types to JavaScript. The compiler catches many bugs before run time (wrong types, missing props, typos). IDEs use types for autocomplete, refactoring, and inline docs.
In frontend apps, type props, state, and API request/response shapes so the compiler and IDE keep components and data in sync. When the API changes, TypeScript highlights every place that needs updating.
React: define interface Props and use function Comp(props: Props) or React.FC<Props>; type event handlers (e.g. React.ChangeEvent<HTMLInputElement>). Vue: defineProps<Props> and defineEmits<Emits>; type refs and template refs.
Use interface or type for objects; generate types from OpenAPI/Swagger for API responses so the frontend stays in sync with the backend. Type hooks (useState, custom hooks) by their return type.
In an existing JS project, enable allowJs and add checkJs gradually; type new files first and fix errors in old files as you touch them. For new projects, enable strict so you get the full benefit.
Types can be refined over time. Use any sparingly; prefer unknown and type guards when you do not know the shape yet. [MDN – TypeScript](https://www.typescriptlang.org/docs/) if you use it in the stack.
Key takeaways
Related concepts
Explore topics that connect to this one.
Ready to see how this works in the cloud?
Switch to Career Paths for structured paths (e.g. Developer, DevOps) and provider-specific lessons.
View role-based pathsSign in to track your progress and mark lessons complete.
Questions? Discuss in the community or start a thread below.
Join DiscordSign in to start or join a thread.