Typescript 对象可否用三元表达式设置类型

请问,如何根据给定的泛型动态判断对象属性类型

export interface ObjectImage {}

export interface ObjectText {}

export type ObjectType = "IMAGE" | "TEXT";

export interface BaseObject {
  id: string;
  readonly type: ObjectType;
}

export interface Object<T extends ObjectType> extends BaseObject {
  // 错误的,但是不知道解决方案
  text: T === "TEXT" ? ObjectText : null;
  image: T === "IMAGE" ? ObjectImage : null;
}

以上代码是错误的,但是我不知道解决方案,typescirpt是不能使用三元运算符吗

阅读 1.8k
1 个回答

=== 替换成 extends

推荐问题