Quando vogliamo aggiungere un metodo a una classe esistente dobbbiamo usare una funzionalità di TypeScript nota come module augmentation. Vediamo prima il codice e poi lo analizziamo.
declare global { interface String { formatByPosition(...values: any[]): string; } } String.prototype.formatByPosition = function (...values: any[]) { return this.replace(/{(\d+)}/g, function (match, number) { return (values[number]) || match; }); };
Nella prima parte del codice dichiariamo nel namespace globale l'interfaccia String alla quale aggungiamo un metodo formatByPosition. Dopo aver aggiunto il metodo all'interfaccia String, dobbiamo aggiungere la sua implementazione al prototype della classe String.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare token per autenicarsi sulle API di GitHub
Utilizzare Azure AI Studio per testare i modelli AI
Evitare il flickering dei componenti nel prerender di Blazor 8
Utilizzare un service principal per accedere a Azure Container Registry
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Utilizzare politiche di resiliency con Azure Container App
Utilizzare QuickGrid di Blazor con Entity Framework
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Applicare un filtro per recuperare alcune issue di GitHub
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione