• Type Annotations
  • Type Assertions
  • Nonnull assertion
  • Type Predicates
  • Generic Functions
  • Function Overloads
  • Interfaces
  • Composing Types
  • Enum
  • Optional Parameters
  • Public, private, and protected modifiers
  • Readonly modifier
  • Accessors (ES6)
  • Abstract Classes
  • Declaration