Summary Gettting Started Why TypeScript Future JavaScript Now Classes Classes Emit Classes Super Classes Extensibility Arrow Functions Rest Parameters let const Destructuring for...of Template Strings Spread Operator Enums Generators Async Await Project Compilation Context tsconfig.json Declaration Spaces Modules File Module Details globals.d.ts Namespaces TypeScript's Type System JS Migration Guide Ambient Declarations Declaration Files Variables Interfaces lib.d.ts Functions Type Assertion Type Compatability Freshness NodeJS JSX TIPs Quick Object Return String Based Enums Nominal Typing Stateful Functions Bind is Bad Currying TypeScript Compiler Internals Program AST TIP: Visit Children TIP: SyntaxKind enum Trivia Scanner Parser Parser Functions Binder Binder Functions Binder Declarations Binder Container Binder SymbolTable Binder Error Reporting Checker Checker Diagnostics Checker Error Reporting Emitter Emitter Functions Emitter SourceMaps Contributing