Getting Started

Introduction to type checking with Flow

Flow is a static type checker for your JavaScript code. It does a lot of work to make you more productive. Making you code faster, smarter, more confidently, and to a bigger scale.

Flow checks your code for errors through static type annotations. These types allow you to tell Flow how you want your code to work, and Flow will make sure it does work that way.

1
2
3
4
5
6
// @flow
function square(n: number): number {
  return n * n;
}

square("2"); // Error!
Cannot call `square` with `"2"` bound to `n` because string [1] is incompatible with number [2]. [incompatible-call]

Was this guide helpful? Let us know by sending a message to @flowtype.