【发布时间】:2019-07-16 08:50:27
【问题描述】:
我正在使用 TypeScript 实现数据库的数据模型,代码看起来非常丑陋和冗长,有没有更短的版本来声明它?
它是为 MongoDB 设计的,所以我想分别为原始 MongoDB 文档和模型类提供一个接口。丑陋但工作的版本看起来像那样
interface PostDocument {
id: number
text: string
}
class Post implements PostDocument {
id: number
text: string
constructor(doc: PostDocument) {
this.id = doc.id
this.text = doc.text
}
}
最好有类似下面的代码,但我不知道 TypeScript 是否可以实现类似的东西
class Model<D> {
somehow declare properties from D on Model
constructor(document: D) { Object.assign(this, document) }
}
interface PostDocument {
id: number
text: string
}
class Post extends Model<PostDocument> {}
【问题讨论】:
标签: typescript