我正在尝试用 TypeScript 重写我的一些 JavaScript 代码。其中一些代码引用了我添加到字符串对象原型的扩展。
String.prototype.format = function () {
var formatted = this;
for (var i = 0; i < arguments.length; i++) {
formatted = formatted.replace(
RegExp("\\{" + i + "\\}", 'g'), arguments[i].toString());
}
return formatted;
};
然而,用类型脚本添加这个非常具有挑战性。
我见过一些例子,你声明一个基本接口的扩展,然后为原型分配一个函数来匹配接口并提供你的功能。像这样...
interface String {
showString: () => string;
}
String.prototype.showString = (): string {
return this;
};
除了这个错误,因为“_this is not defined...”
我尝试过的另一件事是创建一个新类来扩展字符串......
export class MoreString extends string {
}
但是,这也不起作用,因为您只能扩展类并且字符串/字符串不是类而是内置类型。
扩展 String 和访问我的扩展方法的最简单方法是什么?