如何在Typescript Ad-hoc中扩展类型

时间:2019-06-26 18:38:49

标签: angular typescript

我有一个叫ClassA的类,它有10个道具。现在在我的课堂上,我想拥有一个ClassA的实例并添加一个名为isValid的道具,但是我不想创建一个新的类别并对其进行扩展

export class ClassA {
  constructor(
    public active: boolean,
    public createdBy: string,
    public createdTimestamp: Date,
    public entityState: string,
    public scopeType: string,
    public scopeValue: string,
    public tableDescription: string,
    public tableId: number,
    public tableName: string,
    public changeHistoryPreserveDays = 0,
    public createdString: string
  ) { }
}

在我的组件中:

myInstance : any  = {
    isValid : true
 }

foo(classA: ClassA) {
   this.myInstance = {...myInstance, ...classA};
} 

然后使用any松开类型检查。

我的问题是,是否有任何快速的临时扩展类,而无需定义新的类

1 个答案:

答案 0 :(得分:1)

  

@jcalz的积分

我在这里写下了答案,以防其他人寻找相同的东西。

正如@jcalz在评论中提到的,下面的代码可以键入

myInstance: Partial<ClassA> & {isValid: boolean} = { isValid : true }