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
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Anonimizzare i dati sensibili nei log di Azure Front Door
Impostare automaticamente l'altezza del font tramite CSS
Montare Azure Blob Storage su Linux con BlobFuse2
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Configuratione e utilizzo .NET Aspire CLI
Integrare OpenAI tramite Aspire
Gestire il routing HTTP in Azure Container App
Gestire progetti .NET + React in .NET Aspire
Proteggere l'endpoint dell'agente A2A delle Logic App
Definire il metodo di rilascio in .NET Aspire
Integrare SQL Server in un progetto .NET Aspire
I più letti di oggi
- Silverlight 1.1 Tools in alpha per la RTM di Visual Studio 2008
- Rilasciata ufficialmente la versione beta1 di Silverlight 2.0
- Finalmente Silverlight 2.0 RTW!
- Finalmente anche Silverlight 4.0 è RTW!
- Rilasciato Prims 4.0: supporto per MVVM e Windows Phone 7
- Leggere una smart Card direttamente nel browser con Silverlight 5.0
- Annunciato Silverlight 2.0
- Speciale Silverlight 2.0 Beta 1
- Rilasciata la versione Beta 2 di Silverlight 2.0
- Aggiornamento dei Silverlight Tools Beta 2 per Visual Studio 2008 SP1


