- Writing JavaScript and trying to add types
- Writing TypeScript from scratch
- Configuring a TypeScript project from scratch
- Types
- Boolean
- Number
- String
- Array
- Null and Undefined
- Any (every type at once)
- Void (opposite of any - no type)
- Never (something that never occurs)
- Interfaces
- Basic structures
- Optional fields
- Function fields
- Number indexes
- String indexes
- Classes
- Syntax
- Inheritance
- Access modifiers
- Parameter properties
- Getters and setters
- Static
- Functions
- Function syntax
- Optional parameters
- Default parameters
- Function types
- Rest parameters
- Overloads
- Generics
- Normal generics
- Generics with extends keyword
- Advanced TypeScript
- Tuple
- Enum
- Type keyword
- Discriminated unions
- Type guards
- Readonly
- Abstract classes
- Function interfaces
- Hybrid types
- This in functions
- Configuration from scratch
- Tsconfig JSON
- Type declarations for libraries
- Stack traces
- Tests