Basic

Details

  1. What is TypeScript?
  2. Using tsc
  3. Go though the typescript handbook
    1. Type annotations (variable, function, literal types, etc)
    2. Enums
    3. Union types
    4. Classes
  4. Type erasure
  1. https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html
  2. https://www.typescriptlang.org/docs/handbook/intro.html
  3. https://www.typescriptlang.org/docs/handbook/2/basic-types.html
  4. https://www.typescriptlang.org/docs/handbook/2/everyday-types.html
  5. https://www.typescriptlang.org/docs/handbook/2/classes.html
  6. https://www.typescriptlang.org/docs/handbook/compiler-options.html
  7. https://www.freecodecamp.org/news/what-is-type-erasure-in-typescript

Intermediate

Details

  1. Generic
  2. Interfaces vs type aliases
  3. Decorators
  4. Namespaces
  5. declare, declaration merging
  6. Using 3rd party libraries and types
  1. https://blog.logrocket.com/types-vs-interfaces-in-typescript/
  2. https://www.typescriptlang.org/docs/handbook/2/generics.html
  3. https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html
  4. https://www.typescriptlang.org/docs/handbook/decorators.html
  5. https://www.typescriptlang.org/docs/handbook/namespaces.html
  6. https://www.typescriptlang.org/docs/handbook/declaration-merging.html

Courses

  1. https://frontendmasters.com/courses/typescript-v3/

Advanced

Details

  1. Type manipulation
    1. Conditional types
    2. Mapped types
    3. typeof
    4. keyof
  2. Type guards
  3. Migrating from JS
  4. Artifact types (source maps, declarations)
  1. https://www.typescriptlang.org/docs/handbook/2/keyof-types.html
  2. https://www.typescriptlang.org/docs/handbook/2/conditional-types.html
  3. https://www.typescriptlang.org/docs/handbook/2/mapped-types.html
  4. https://www.typescriptlang.org/docs/handbook/2/typeof-types.html
  5. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-type-assertions
  6. https://www.typescriptlang.org/docs/handbook/migrating-from-javascript.html#setting-up-your-directories
  7. https://www.typescriptlang.org/docs/handbook/declaration-files/deep-dive.html

Notes