- JavaScript: Duck typing (“When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.”)
- static type checking: check before compiling (String s = new String())
- dynamic type checking: check at runtime (s = "foo")
- strong type checking: "Zahl"+str(3)
- weak type checking: "Zahl"+3
- JavaScript chooses worst of both worlds: dynamic and weak
- type checking
- get new javascript features for free
- js code is ts code
- typescript is not a library or api
- always enable strict mode
- use "public" etc. in classes
- use interfaces for objects