Rozszerz podstawowe typy w TypeScript, Błąd: „_to nie jest zdefiniowane…”
Próbuję przepisać część mojego kodu JavaScript w TypeScript. Część tego kodu ma odniesienia do rozszerzenia, które dodałem do prototypu obiektu łańcuchowego.
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;
};
Jednak dodanie tego ze skryptem typu było dość trudne.
Widziałem przykłady, w których deklarujesz rozszerzenie podstawowego interfejsu, a następnie przypisujesz prototypowi funkcję, aby dopasować interfejs i zapewnić funkcjonalność. Jak tak ...
interface String {
showString: () => string;
}
String.prototype.showString = (): string {
return this;
};
Z wyjątkiem tych błędów, ponieważ „_to nie jest zdefiniowane…”
Innymi rzeczami, które próbowałem, jest utworzenie nowej klasy w celu rozszerzenia łańcucha ...
export class MoreString extends string {
}
Jednak to również nie działa, ponieważ można rozszerzać tylko klasy, a łańcuch / ciąg znaków nie są klasami, ale wbudowanymi typami.
Jaki jest najprostszy sposób na rozszerzenie String i dostęp do mojej metody rozszerzenia?