Skip to content

Latest commit

 

History

History
66 lines (63 loc) · 1.93 KB

README.md

File metadata and controls

66 lines (63 loc) · 1.93 KB

Online presentation of TypeScript fundamentals and advanced features for a rowing session at Fincons Group AG.

Table of Contents

  • Introduction
    • Main advantages of TypeScript
  • What is the best way to learn the TypeScript language?
  • Relationship between TypeScript and JavaScript
  • Code generation
  • Installation and Output
  • Learning TypeScript Playground
  • Basic types
    • Primitive types
    • Types void, null and undefined,
    • Difference between any, unknown and never
    • Enums
    • Interfaces
    • Classes
      • Public, private, and protected modifiers
      • Keywords static and abstract
      • Interfaces extending classes
  • Getters / setters accessors
  • Modules
  • Meet TypeScript compiler options
    • noImplicitAny
    • strictNullChecks
  • Structural typing
  • Similarities between type and interface
  • Differences between type and interface
    • Interface declaration merging
  • Type assertions
  • Type inference
  • Optional and required properties
  • Readonly properties
    • Const assertions in literal expressions
  • Excess property checks
  • Functions
    • Function overloading
    • this in functions and callbacks
  • Generics
  • Undestand type widening and narrowing
  • User defined type guards
  • Union types
  • Intersection types
  • Index types
    • keyof operator (index type query operator)
    • Indexed access operator
  • Other advanced types
    • Mapped types
    • Conditional types
      • Type inference in conditional types
    • Utility types: Omit, Pick, etc.
  • Decorators
  • Mixins - composing partial behaviors
  • Type definition files
  • Latest TypeScript features
    • Optional chaining
    • Nullish coalescing
    • Support for ECMAScript private fields
    • Static class blocks
    • satisfies operator
  • Some best practice tips
    • Prefer unions of interfaces to interfaces of unions
    • Use async functions instead of callbacks