Próbuję przepisać niektóre z mojego kodu JavaScript w TypeScript. Niektóre z tych kodów zawierają odwołania do rozszerzenia dodanego do prototypu obiektu typu string.Rozszerz podstawowe typy w TypeScript, Błąd: "_to nie jest zdefiniowane ..."
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 skryptu typu było dość trudne.
Widziałem przykłady, w których deklarujesz rozszerzenie podstawowego interfejsu, a następnie przypisujesz funkcję do prototypu, aby dopasować interfejs i zapewnić swoją funkcjonalność. Podobnie jak ...
interface String {
showString:() => string;
}
String.prototype.showString =(): string {
return this;
};
wyjątkiem tego błędu, bo „nie jest zdefiniowane _this ...”
Inne rzeczy próbowałem jest stworzenie nowej klasy rozszerzenia ciąg ...
export class MoreString extends string {
}
Jednak to również nie działa, ponieważ można rozszerzać tylko klasy, a łańcuch/ciąg nie są klasami, ale wbudowanymi typami.
Jaki jest najprostszy sposób na rozszerzenie String i dostęp do mojej metody rozszerzenia?
ale gdzie w kodujesz tę definicję? ponieważ dostaję właściwość "myExtension" nie istnieje na typie "String", więc nie kompiluje się. Mam ten fragment kodu wewnątrz definicji modułu. – Oscar
To zadziałało dla mnie, TANKI! – Benoit
@Oscar to samo, nie działa na kopalni –