我有一个将属性分配给实例的构造函数:
class BaseModel {
constructor (args = {}) {
for (let key in args) {
this[key] = args[key]
}
}
}
class User extends BaseModel {
name: string
}
然后我可以创建一个这样的实例:
let user = new User({name: 'Jon'})
我现在想用类转换器替换这个基本功能:
let user = plainToClass(User, {name: 'Jon'})
我的代码库在很多地方都使用了第一种方法,因此我想在构造函数中实现新方法,这样我就不会破坏旧代码:
constructor (args = {}) {
let instance = plainToClass(CLASSTYPE, args)
for (let key in Object.keys(instance)) {
this[key] = instance [key]
}
}
如何在构造函数中获取类类型?我不能使用 User 因为这是基本模型,其他类也可以从它扩展。