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?

questionAnswers(4)

yourAnswerToTheQuestion