如何在惯用的打字稿中实现“带有方法的结构”

时间:2018-10-31 15:50:27

标签: typescript

我来自golang背景,目前还不清楚如何习惯于以下操作:

export interface BatchUser {
  id: Id
  displayName: string
  age: number  
}

interface Hashable {
  toString(): string;
}

export class HashableBatchUser implements Hashable, BatchUser {
  id: Id = ""
  displayName: string = ""
  age: number = 0

  constructor(user: BatchUser) {
    this.id = user.id
    this.displayName = user.displayName
    this.age = user.age
  }

  toString(): string {
    return this.id
  }
}

我想与该类进行交互,就好像它是一个简单的对象(user.id,user.age等...)一样,并且构造简单。 上面的内容如何干燥?我重复的属性太多了。

0 个答案:

没有答案