Напиши тип Middle Условные и mapped-типы обновлено

Распределение ToArray

Вопрос

Какой тип получит A? Впишите тип.

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

Попробуйте сами

Напишите тип, как написали бы в коде.

Показать ответ и разбор

Коротко

Правильный тип: string[] | number[]. T голый параметр, поэтому условный тип применяется к каждому члену объединения: string даёт string[], number даёт number[].

Правильный тип

string[] | number[]

Разбор

T голый параметр, поэтому условный тип применяется к каждому члену объединения: string даёт string[], number даёт number[]. Результат объединение массивов, а не массив объединения.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.