我正在尝试在TypeScript中扩展类型的功能,只要它是“真实”类型,它似乎就可以正常工作,但是如果我试图为其他类型以同样的方式实现的接口声明一个函数,我就会得到编译器错误。
下面是一个有效的示例:
interface Set<T> {
min(): T;
}
Set.prototype.min = function() {
return 0;
}但这一条不是:
interface IterableIterator<T> {
min(): T;
}
IterableIterator.prototype.min = function() {
return 0;
}在这里,我得到了一个关于实现error TS2693: 'IterableIterator' only refers to a type, but is being used as a value here.的编译器错误。
定义和实现可应用于/可用于所有实现IterableIterator的接口的函数的正确方法是什么
发布于 2017-07-02 03:20:56
TypeScript被转译为JavaSript。您只能扩展JavaScript有效对象。IterableIterator是一个特殊的功能,不是一个可以扩展的有效对象。你可以测试一下,当你向JavaScript控制台写String时,它会响应一些文本(意味着字符串可以扩展),但是当你输入IterableIterator时,它会响应某种错误。

https://stackoverflow.com/questions/44862941
复制相似问题