Understand the types - TypeScript
Complete Workshop by Vilva Athiban
Expectations
What is TypeScript
- Superset of JS
- Made of: Language, Language server & Compiler
- Compiles to JavaScript
Why TypeScript
Developer Experience
- In-Editor Docs
- Understand Adjacent code
- Less memory (of Dev)
- Easy Refactoring
- AutoComplete
App Benefits
- Fewer Runtime errors
- Possibility of catching bugs during Dev time
- Stable Contract & Richness of data
- Updating "Breaking changes of Libraries" made easy
- Auto-generating Docs
Myths
- Zero runtime errors
- Better Performance
- Auto-Optimized code
Basic Types
Type Inferance & Explicit types
String, number and boolean
Arrays and Tuples
Functions and Objects
Literal Types
Union Types & Enums
Other types
- null
- undefined
- bigint
- symbol
Advanced Types
Interfaces & Type Alias
Function Signature Overloading
Type Assertions
Class
Utility types
Labelled Tuples
Recursive Types
Narrowing
Type Manipulation
- keyof Type
- typeof Type
- Indexed Access
- Condition Type
- Mapped Type
Tricky Types
Generics
Type Guards
Declaration Merging
Operators
Template literal types
TypeScript in runtime - Error Handling
Create types for .map() for Objects
JS, TS Configuration & Declaration files
Babel & TypeScript
React Loves TypeScript
Migrate React App to TypeScript
Step 1: Lethargic conversion
- Change all files from .js to .ts
- Don't change any functionality or logic
- Allow implicit Any
Step 2: Explicit Any
- Assign types (atleast any) to every required piece of code
Step 3: Strict mode
- Enable Strict mode
- Replace Any with types
Auto-Generate Types with GraphQL
Add types to GraphQL queries in the App
Step 1: Setup GraphQL Codegen
Step 2: Write your Queries & Mutations
Step 3: Run Codegen and use the types directly
Read types of OSS Libs
Q&A
Fun time
Understand the Types - TypeScript
By Vilva Athiban
Understand the Types - TypeScript
- 191