我不明白为什么TypeScript对相等类型(ObjType1和ObjType2)有不同的建议?
在第一种情况下,它的并集类型为"a" | "b"
在第二种情况下,对于相同的类型,它没有提供联合类型.为什么?
const obj = {
a: 1,
b: 1,
};
type ObjType1 = {
a: number;
b: number;
}
type ObjType2 = typeof obj;
type R1 = ObjType1 extends ObjType2 ? true : false; // true
type R2 = ObjType2 extends ObjType1 ? true : false; // true
type Result1 = keyof ObjType2; // type Result1 = "a" | "b"
type Result2 = keyof ObjType1; // type Result2 = keyof ObjType1