Skip to content

Latest commit

 

History

History
91 lines (87 loc) · 2.12 KB

TODO.md

File metadata and controls

91 lines (87 loc) · 2.12 KB

TODO

Language Features

  • Comments
  • Int literals
  • Float literals
  • String/Template literals
  • Boolean literals
  • Null/undefined literals
  • Regex literals
  • Prefix/postfix operators
  • Binary operators
  • Ternary expressions
  • var/let/const
  • if/else if/else
  • switch
  • While loops
  • Do loops
  • C-style for loops
  • For each loops
  • throw
  • try/catch/finally
  • Functions
    • return
    • Fake 'this' parameter
    • Check all code paths return correctly
    • Inferred return types
    • Arrow functions
    • Variadic functions
    • As lambda expressions
  • Function calls
  • Unions
  • Tuples
  • unknown type
  • never type
  • Arrays
    • Array accesses
    • Array<> generic
  • Type aliases
  • Interfaces
    • Inline with object literal syntax/type aliases
    • interface syntax
    • extends for interfaces
    • Construct signatures for interfaces
    • Short function syntax
  • Object literals
  • Object member accesses
  • Enums
    • Const enums
    • Ambient enums
  • delete
  • Classes
    • new
    • Member variables
    • Member functions
    • Property access with '.'
    • Property access with '[]'
    • readonly
    • static
    • public/protected/private
    • ECMAscript private fields with '#'
    • Parameter properties
    • constructor
    • destructor
    • Accessors with get/set
    • extends for classes
    • abstract class
    • implements
  • Generics
  • Recursive types
  • Modules/import/export
  • declare
  • namespace
  • async/await
  • Type casting
  • Type predicates
  • Object destructuring
  • Generator functions/yield
  • Decorators
  • Symbol/unique symbol
  • JSX

Compiler Features

  • Read code from file
  • Read code from stdin
  • Read tsconfig files
  • GCC style command line interface
  • Strict flag
  • strictNullChecks