It's easy to make mistakes when writing code. We have some commonly-used tools to help us with this, with tests and linters, but there's more out there. Tools like Flow[1] and TypeScript[2] can be used to have the computer help us check our code, and can act as another protective barrier to bugs and blunders.
We'll explore types and type-checking with Flow. You'll see common bugs it catches and, step-by-step, will learn both how to use it, and how to reduce the number of tests you need to write. We'll then walk through more advanced techniques, using unions, wrappers, gatekeepers, phantoms, and other things besides to build a small robust app.
To enjoy this talk, you'll ideally have an intermediate-level understanding of JavaScript. We'll start easy with types and Flow, but will ramp it up as we go to keep things interesting if you're a more experienced user of either.
(Though this session uses Flow for its examples, but pretty much everything will be directly transferable to TypeScript with little effort.)
Pre-Reqs: Intermediate-level JS