cf.completefrontend

Predict the typesMedium

What do these conditional types produce when you pass them a union?

Name the type each ^? line points at, and say whether TypeScript reports any errors.

What does TypeScript report here?
type ToArray<T> = T extends unknown ? T[] : never;type ToArrayWhole<T> = [T] extends [unknown] ? T[] : never; type A = ToArray<string | number>;//   ^?type B = ToArrayWhole<string | number>;//   ^?type C = ToArray<boolean>;//   ^? type IsString<T> = T extends string ? true : false;type D = IsString<"a" | 1>;//   ^?type E = IsString<never>;//   ^?type IsNever<T> = [T] extends [never] ? true : false;type F = IsNever<never>;//   ^?

Work it out first: the compiler shows every error and type.

The answer

Work out every error TypeScript reports and every type it shows, line by line. Then check.

Checking your sign-in…