An in depth look
It all comes down to static typing.
TypeScript is just JavaScript - just with the seat belt fastened.
Compiler related:
There is a bit of overlap.
TypeScript advantages:
Flow advantages: