The TypeScript compiler analyzes the control flow of your program to determine the most precise type for a variable at any given location.
This lesson shows control flow based type analysis in action and explains how type guards and jumps in control flow affect the type that is inferred.