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
Evitare la command injection in un workflow di GitHub
Controllare gli accessi IP alle app con Azure Container Apps
Code scanning e advanced security con Azure DevOps
Come migrare da una form non tipizzata a una form tipizzata in Angular
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Creare moduli CSS in React
Eseguire le GitHub Actions offline
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Aggiungere interattività lato server in Blazor 8
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Miglioramenti nelle performance di Angular 16
I più letti di oggi
- Riordinare le righe di una GridView di ASP.NET con jQuery
- Creazione di un alarm con suono personalizzato con Windows Phone 7.1
- Utilizzare la session affinity con Azure Container Apps
- Blue-green deployment con Azure Web App e DevOps
- Ed infine anche il calendario :)
- Configurare la diagnostica di Azure attraverso Visual Studio
- Recuperare la data di creazione di un tag tramite una pipeline YAML di Azure DevOps
- Microsoft Security Bulletin MS05-002
- .NET Core e dispositivi IoT
- Eseguire attività pianificate con Azure Container Jobs