Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/TypeScript/type-narrowing

Что такое сужение типов (Type Narrowing) и какими способами оно выполняется?

СобеседованиеСужение типов

Сужение — уточнение типа объединения до более конкретного на основе проверок:

  1. typeof — для примитивов: typeof v === "string"
  2. Truthiness — проверка на truthy/falsy: if (user) { ... }
  3. Equality — сравнение с литералами/null/undefined: === null
  4. in — наличие свойства: "data" in response
  5. instanceof — проверка по прототипной цепочке
  6. Discriminated unions — по общему дискриминатору в union
  7. Пользовательские гарды: function isA(x: unknown): x is A { ... }
  8. asserts — утверждение: asserts value is Type
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov