Когда используется undefined в TypeScript?

«Когда используется undefined в TypeScript?» — вопрос из категории TypeScript, который задают на 26% собеседований Node.js Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В TypeScript undefined используется для обозначения отсутствующего значения. Основные случаи:

  1. Неинициализированные переменные

    let x: number; // x имеет значение undefined
  2. Опциональные параметры функций

    function greet(name?: string) {
      // name может быть string или undefined
    }
  3. Возвращаемое значение функций без return

    function logMessage(msg: string): void {
      console.log(msg);
      // Неявно возвращает undefined
    }
  4. Явное указание отсутствия значения

    interface User {
      name: string;
      middleName?: string; // middleName: string | undefined
    }
  5. Работа с strictNullChecks С включенной опцией strictNullChecks типы undefined и null становятся отдельными, что помогает избежать ошибок.

Для безопасной работы с потенциально undefined значениями в Node.js проектах часто используют:

  • Опциональную цепочку (?.)
    const userName = user?.profile?.name;
  • Оператор объединения с null (??)
    const port = process.env.PORT ?? 3000;
  • Тип-гарды
    if (value !== undefined) {
      // TypeScript знает, что здесь value определено
    }