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
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Introduzione ai web component HTML
Generare una User Delegation SAS in .NET per Azure Blob Storage
Generare velocemente pagine CRUD in Blazor con QuickGrid
Testare l'invio dei messaggi con Event Hubs Data Explorer
Eseguire i worklow di GitHub su runner potenziati
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Recuperare l'ultima versione di una release di GitHub
Usare il colore CSS per migliorare lo stile della pagina
Ricevere notifiche sui test con Azure Load Testing
Anonimizzare i dati sensibili nei log di Azure Front Door
I più letti di oggi
- Recuperare l'ultima versione di una release di GitHub
- Rendere i propri workflow e le GitHub Action utilizzate più sicure
- Disabilitare le run concorrenti di una pipeline di Azure DevOps
- Gestione dei nomi con le regole @layer in CSS
- Introduzione alle Container Queries in CSS
- Fornire parametri ad un Web component HTML
- Visual Studio Live: what's next - Online
- .NET Conference Italia 2021 - Online
- ASP.NET MVC Release Candidate 2