0
0
Typescriptprogramming~5 mins

Control flow analysis behavior in Typescript

Choose your learning style9 modes available
Introduction

Control flow analysis helps TypeScript understand how your code runs step-by-step. It checks what values variables can have at different points, so it can catch mistakes early.

When you want TypeScript to check if a variable is definitely assigned before use.
When you use conditions like if-else to narrow down variable types.
When you want safer code by letting TypeScript track possible values during your program.
When you want to avoid errors from using variables that might be undefined or null.
When you want TypeScript to help you understand which parts of your code can run.
Syntax
Typescript
if (condition) {
  // code when condition is true
} else {
  // code when condition is false
}

TypeScript uses control flow to check variable types inside these blocks.

It narrows types based on conditions, like checking if a variable is not null.

Examples
TypeScript knows inside the if block that value is a string, not null.
Typescript
let value: string | null = "hello";
if (value !== null) {
  console.log(value.toUpperCase());
}
TypeScript narrows x to string or number inside each block.
Typescript
function printLength(x: string | number) {
  if (typeof x === "string") {
    console.log(x.length);
  } else {
    console.log(x.toFixed(2));
  }
}
TypeScript knows count is a number inside the if because undefined is excluded.
Typescript
let count: number | undefined;
count = 5;
if (count !== undefined) {
  console.log(count + 1);
}
Sample Program

This program uses control flow to check if name has a value. If yes, it prints a greeting with the name in uppercase. Otherwise, it prints a generic greeting.

Typescript
function greet(name: string | null) {
  if (name) {
    console.log(`Hello, ${name.toUpperCase()}!`);
  } else {
    console.log("Hello, stranger!");
  }
}

greet("Alice");
greet(null);
OutputSuccess
Important Notes

Control flow analysis helps avoid errors by understanding variable states.

It works best with simple conditions like if, else, and typeof checks.

Complex code might confuse control flow, so keep conditions clear and simple.

Summary

Control flow analysis tracks how your code runs to check variable types.

It helps TypeScript catch errors before running your program.

Use conditions to let TypeScript narrow variable types safely.