请教TS的泛型条件约束问题?-灵析社区

饼干爱折腾

修改如下 interface Base { name: string; age: number; }; interface FixedInstance extends Base {} interface FollowInstance extends FixedInstance { sex: 1|2; } type NameType = "fixed"|"follow"; type FixedName = "fixed"; type FollowName = "follow"; const data: NameType = 'fixed'; type myType = typeof data; type isFixed = myType extends FixedName ? true : false; // true type isFollow = myType extends FollowName ? true : false; // false // -----------cut--- function sellect(name: T, data: T extends FixedName ? FixedInstance : FollowInstance) { return { name, data } as const; } const infodata: FixedInstance = { name: "levi", age: 18 }; const { name: myName, data: myData } = sellect("follow", infodata); type dataType = typeof myData; type dataisFixed = myType extends FixedName ? true : false; // false type dataisFollow = myType extends FollowName ? true : false; // false

阅读量:1

点赞量:0

问AI