我收到了这个编译错误:
属性'prototype'在'Base'类型的值上不存在
在下面的类中,如何从构造函数函数中获取typescript将原型对象识别为一种本机Object?
interface IBase {
extend: any;
prototype : any;
}
declare var Base : IBase;
class Base implements IBase {
constructor() {}
public extend( mixins : any ) : void {
_.extend( this.prototype, mixins );
}
}
答案 0 :(得分:3)
this.prototype
可能不是你的意思,因为Base
的实例没有prototype
属性(在运行时看你自己)。但是,Base
确实:
interface IBase {
extend: any;
}
class Base implements IBase {
constructor() {}
public extend( mixins : any ) : void {
_.extend(Base.prototype, mixins );
}
}
当然,此时extend
也可能是静态的,因为它适用于所有Base
个实例。你的意思是这个吗?
public extend( mixins : any ) : void {
_.extend(this, mixins);
}