This document discusses type systems and TypeScript. It provides an overview of TypeScript's type system features including gradual typing, structural and generic types, distinct value and type namespaces, extensive type inference, control flow analysis, support for object-oriented and functional programming. It also discusses TypeScript's design goals of being open source, closely tracking the ECMAScript standard, innovating in its type system, having best-in-class tooling, lowering barriers to entry, and focusing on community.
24. You guys (at Microsoft)
still don't get it,
because it's sort of
Java with reliability,
productivity and
security deleted
- James Gosling
reliability
productivity
30. ⭐ Open Source and Open Development
" Closely track ECMAScript standard
# Innovate in type system
$ Best of breed tooling
⏬ Continually lower barrier to entry
& Community, community, community
31. ⭐ Open Source and Open Development
" Closely track ECMAScript standard
# Innovate in type system
$ Best of breed tooling
⏬ Continually lower barrier to entry
& Community, community, community
32. ⭐ TypeScript IS JavaScript
⭐ Language innovation through ECMAScript
⭐ Type system innovation through use cases
⭐ Tooling as prime citizen
Non-goal: Apply a sound or "provably correct" type system. Instead, strike a balance
between correctness and productivity.
34. ⛩ Gradual, structural, generic
( Distinct value / type namespaces
) Extensive type inference
* Control flow analysis
& Object-oriented and functional