2
type a<T> = T extends {} ? true : false;

type a111 = a<never>; // never

type a222 = never extends {} ? true : false; // true

Playground Link

I think a111 and a222 should be equal, but they are not. Why the result of a111 and a222 are different?

VLAZ
  • 26,331
  • 9
  • 49
  • 67

0 Answers0