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
Gestire gli errori di caricamento delle immagini
Eseguire query verso tipi non mappati in Entity Framework Core
Limitare lo spazio dei repository di Azure Container Registry con uno script bash e Azure CLI
Utilizzare flat e flatMap per appiattire array innestati in array
Generare file per il download da Blazor WebAssembly
Reactive form tipizzati con FormBuilder in Angular
Utilizzare l'attributo autofill del CSS
Creare automaticamente una issue di GitHub
Aggiungere le issue di più repository in una board in GitHub
Scoprire le ottimizzazioni di Entity Framework Core in fase di scrittura di un solo record
Definire le impostazioni di cache a livello di controller in ASP.NET Core 7
Q# for Quantum Programming, an "only for the brave" session
I più letti di oggi
- .NET Conference Italia 2023 - Milano e Online
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Microsoft Visual Studio Code: un nuovo editor gratuito per Windows, MacOSX e Linux per sviluppatori ASP.NET e Node.js
- Registrare servizi multipli tramite chiavi in ASP.NET Core 8
- Chiamare direttamente un numero di telefono con HTML5