【发布时间】:2018-10-22 00:50:20
【问题描述】:
我收到以下代码的类型错误:
我不太清楚为什么,错误是Type 'Cash' is not assignable to type 'string'。如果我不输入this 参数,它会起作用:
我在这里做错了什么?我正在使用 TS v3.1.3。
代码如下:
class Cash {}
interface Cash {
text (): string;
text ( text: string ): this;
}
Cash.prototype.text = function ( text?: string ) {
return text === undefined ? 'foo' : this;
};
【问题讨论】:
-
在您的示例中,
Cash是一种类型,而不是一个对象。所以它没有原型,你应该得到一个基于它的错误,而不是因为Cash不是一个字符串。为什么要设置Cash的原型? -
你试图在接口本身上创建一个方法,而不是实现该接口的对象
-
这只是部分代码,实际上有一个
Cash类,实际上你可以看到我附上的第二张截图没有显示任何错误。 -
这似乎有点夸张,拥有
class Cash {}就是缺少的一切。事实上,让我用可重现的代码更新我的问题。 -
问题更新,我希望你现在有你需要的所有信息。
标签: typescript