我正在尝试向 Typescript 中的 Array 对象添加一个方法。我已经在 SO 上找到了其他解决方案,但这些解决方案都不适合我。
我的代码如下所示:
interface Array {
average(): () => number;
}
Array.prototype.average = () => {
var sum: number = 0
for (var i = 0; i < this.length; i++)
sum += this[i]
if (this.length)
return sum / this.length
return 0
}
我收到错误:The property 'average' does not exist on value of type 'Array'
您只在 Visual Studio 中收到错误吗?由于扩展内置接口中的错误,预计会出现这样的情况。如果您只是调用 tsc.exe,这应该可以工作。
相关地,你的代码有点偏离——你的声明average
描述一个函数,该函数返回一个返回数字的函数,而不是返回一个数字(您只需编写average(): number
在那条线上)。另外,因为你使用了=>
代替function() {
在实现中,您将绑定到错误的this
运行时的值。希望有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)