type a<T> = T extends {} ? true : false;
type a111 = a<never>; // never
type a222 = never extends {} ? true : false; // true
I think a111
and a222
should be equal, but they are not.
Why the result of a111 and a222 are different?
type a<T> = T extends {} ? true : false;
type a111 = a<never>; // never
type a222 = never extends {} ? true : false; // true
I think a111
and a222
should be equal, but they are not.
Why the result of a111 and a222 are different?