Что такое Distributive Conditional Types в TypeScript?

Вопрос проверяет знание особенностей работы условных типов с union-типами.

Короткий ответ

Distributive Conditional Types — это условные типы, которые автоматически распределяются по элементам union-типа. Это мощный механизм для трансформации типов в более гибкие и детализированные конструкции.

Длинный ответ

Distributive Conditional Types позволяют автоматически применять условные типы ко всем элементам union-типа. Если передать в условный тип union, TypeScript разложит этот тип на отдельные части и применит условие ко всем элементам. Это позволяет динамически трансформировать сложные типы, не дублируя код.

 

Пример:


type ToArray<T> = T extends any ? T[] : never;
type A = ToArray<number>; // number[]
type B = ToArray<number | string>; // number[] | string[]

В этом примере тип ToArray создает массивы для каждого типа внутри union-типа.

Уровень

  • Рейтинг:

    4

  • Сложность:

    8

Навыки

  • TypeScript

    TypeScript

Подпишись на React Developer в телеграм