Optionality

This lesson discusses how TypeScript analyses optional values in `if` statements when the `strictNullChecks` flag is enabled.

Defining optionality

As you saw in the previous lesson, strict null checks force you to explicitly distinguish between values that can be null or undefined and those that cannot be. You already saw how to do this with a union type.

interface Person {
  name: string;
}

let nullableJohn: Person | null;
let maybeUndefinedBob: Person | undefined;
let ambiguoslyEmptyAlice: Person | null | undefined;

Get hands-on with 1200+ tech skills courses.