
@bookercodes
@bookercodes

@bookercodes
Flow is A STATIC TYPE CHECKER FOR JAVASCRIPT
@bookercodes
Flow is A STATIC TYPE CHECKER FOR JAVASCRIPT
Flow is A Javascript productivity tool
@bookercodes
function area (r) {
return Math.PI * r * r
}
const result = area("1O")// @flow❌ ^^^^ This type is incompatible with number.
@bookercodes
function length (value) {
return value.length
}const result = length(null)// @flow@bookercodes
❌ ^^^^^^ property cannot be accessed on potentially null value
function length (value) {
if (value != null) {
return value.length
}
return 0
}const result = length(null)// @flow@bookercodes
Contrived examples?
function length (value) {
if (value != null) {
return value.length
}
return 0
}module.exports = length// @flow@bookercodes
function length (value: string): number {
if (value != null) {
return value.length
}
return 0
}module.exports = length// @flow@bookercodes
Benefits of Flow type annotations
- Autocompletion
- Makes code more readable (self-documenting)
- Generate documentation
- Code is more likely to work if it compiles, making you more productive
@bookercodes
Third-party modules (like express)?
@bookercodes
const num: number = 10

@bookercodes
const num = 10Thank you
@bookercodes
Introduction to Flow
By Alex Booker
Introduction to Flow
- 2,337