Personal notes for course: "Understanding TypeScript - 2020 Edition" by Maximilian Schwarzmüller
- Boolean, Number and String Types
- Object Types
- Array Types
- Working with Tuples
- Working with Enums
- The "any" type
- Union Types
- Literal Types
- Type Aliases
- Function Return Types & "void"
- Functions as Types
- Function Types & Callbacks
- The "unknown" type
- The "never" type
- Using "Watch Mode"
- Compiling the Entire Project / Multiple Files
- Including & Excluding Files
- Setting a Compilation Target
- Understanding TypeScript Core Libs
- Working with Source Maps
- rootDir and outDir
- Stop Emitting Files on Compilation Errors
- Creating a First Class
- The "this" keyword
- "private" and "public" Access Modifiers
- Shorthand Initialization
- Inheritance
- Overriding Properties & The "protected" Modifier
- Getters & Setters
- Static Methods & Properties
- Abstract Classes
- Singletons & Private Constructors
- A First Interface
- Using Interfaces with Classes
- Why Interfaces?
- Readonly Interface Properties
- Extending Interfaces
- Interfaces as Function Types
- Optional Parameters & Properties
- Intersection Types
- More on Type Guards
- Discriminated Unions
- Type Casting
- Index Properties
- Function Overloads
- Optional Chaining
- Nullish Coalescing
- Built-in Generics & What are Generics?
- Creating a Generic Function
- Working with Constraints
- Another Generic Function
- The "keyof" Constraint
- Generic Classes
- Generic Utility Types
- Generic Types vs Union Types
- A first class Decorator
- Working with Decorator Factories
- Building More Useful Decorators
- Adding Multiple Decorators
- Diving into Property Decorators
- Accessor & Parameter Decorators
- When Do Decorators Execute?
- Example: Creating an "Autobind" Decorator
- Validation with Decorators
Skipped
- Using JavaScript (!) Libraries with TypeScript
- Using "declare" as a "Last Resort"
- No Types Needed: class-transformer
- TypeScript-embracing: class-validator
Skipped