Встречается на 2% собеседований по JavaScript

Что такое условный тип

Условные типы (Conditional Types) в TypeScript позволяют создавать типы, которые зависят от условий. Они используют синтаксис T extends U ? X : Y, где если T расширяет U, то тип будет X, иначе Y.

Пример:

typescript
type IsString<T> = T extends string ? true : false;

type A = IsString<'hello'>; // true
type B = IsString<42>; // false

text

Используются часто с `infer` для вывода типов:
```typescript
type UnpackPromise<T> = T extends Promise<infer U> ? U : T;

type C = UnpackPromise<Promise<number>>; // number
type D = UnpackPromise<string>;          // string

Особенности:

  • Работают на этапе компиляции
  • Могут быть рекурсивными
  • Часто применяются в utility-типах (Exclude, Extract и др.)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы