如何增强一个“内置”类型?例如阵列?

在js中,我会做一些像

的东西
Array.prototype.shuffle = function () { ... };
.

类型签字中的等同物?

有帮助吗?

解决方案

类型在打字标记中是“开放式”,因此您可以写入:

interface Array {
  shuffle: () => any; // <-- Whatever signature you want.
}
.

然后该类型扩展为包括新功能(并且您可以将函数分配与其匹配的函数)。

请注意,扩展内置类型(Lib.d.ts - 例如array)具有当前在语言服务中的问题,因为它为完善的原因而缓存了那些内部的问题。我在 http://typescript.codeplex.com/workitem/4 要在VS中的语言服务中扩展内置类型,而不会错误。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top