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

Можно ли использовать логическое ветвление в TypeScript типах

Да, можно! TypeScript поддерживает условные типы через extends и тернарный оператор.

Пример:

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

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

Также есть встроенные утилиты типа Exclude, Extract, NonNullable, которые используют условные типы под капотом.

Можно комбинировать с infer для более сложной логики:

typescript
type UnpackPromise<T> = T extends Promise<infer U> ? U : T;

type X = UnpackPromise<Promise<number>>; // number
type Y = UnpackPromise<string>; // string

Это мощный механизм для создания гибких и строго типизированных API.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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