NEgli script precedenti ci siamo occupati di come estendere il prototype della classe JavaScript Array aggiungendo nuovi metodi e di come rendere questi nuovi metodi visibili anche al codice TypeScript. In questo script vedremo come fare la stessa cosa per la classe String aggiungendo un metodo Format simile a quello che già conosciamo in .NET.
Come sempre, per prima cosa dobbiamo estendere la classe String e aggiungere il metodo format così da renderlo visibile a TypeScript. Successivamente, possiamo estendere il prototype di String.
declare global {
interface string {
format(): string;
}
}
String.prototype.format = function() {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] != 'undefined'
? args[number]
: match;
});
}Il metodo prende la lista dei parametri in input, e usa una regex per rimpiazzare i caratteri {0}, {1}, {2} (e così via) con i parametri di input in base alla loro posizione.
Quando la stringa è conosciuta già a desing time, al posto del format possiamo usare l'interpolazione di stringhe introdotta con ES6, ma quando la stringa è costruita a run time, avere un metodo format a disposizione è sicuramente utile.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Escludere alcuni file da GitHub Copilot
Utilizzare AbortController per cancellare operazioni asincrone in JavaScript
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Controllare la velocità di spostamento su una pagina HTML
Esporre un server MCP con Azure API Management
Centralizzare gli endpoint AI Foundry con Azure API Management
Il nuovo persistent state in Blazor
Gestire trasferimenti cloud con Azure Storage Mover
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Utilizzare noopener e noreferrer nei link HTML
Filtrare i dati in ASP.NET Core usando OpenTelemetry su Azure Monitor
Effettuare un clone parziale di un repository di GitHub
I più letti di oggi
- Scopri i nostri nuovi libri su ASP.NET 4.0, C# 4 e Visual Basic 2010: in offerta lancio al 20% di sconto!
- Windows 7 RC per abbonati MSDN e Technet, anche in versione Server
- Windows 7 e Windows Server 2008 R2 RC al download libero
- Utilizzare QuickGrid di Blazor con Entity Framework
- Resi noti i prezzi di Windows 7: in italiano dal 22 ottobre
- Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
- Visual Studio 2010 e .NET Framework 4.0: beta 2 e data di release RTM
- Generare velocemente pagine CRUD in Blazor con QuickGrid
- Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
- Disponibile la beta 1 del .NET Framework 4.0 e di Visual Studio 2010




