• JSDoc types are used for type information
  • Properties are inferred from assignments in class bodies
  • Constructor functions are equivalent to classes
  • CommonJS modules are supported
  • Classes, functions, and object literals are namespaces
  • Object literals are open-ended
  • null, undefined, and empty array initializers are of type any or any[]
  • Function parameters are optional by default
  • Var-args parameter declaration inferred from use of arguments
  • Unspecified type parameters default to any
  • In extends clause:
  • In JSDoc references
  • In function calls