In uno script precedente abbiamo visto alcune ottimizzazioni sul codice JavaScript provenienti dall'utilizzo di shorthand, ossia una convenzione basata spesso sull'ultilizzo di simboli, che aiuta la lettura, compilazione ed esecuzione di codice JavaScript.
In questo script prendiamo in esame alcuni shorthands che migliorano le fondamenta del nostro codice.
Arrow function
Le funzioni cosiddette pure, dove l'output dipende solamente dall'input, o le funzioni di più semplice utilità sono funzioni che vorremmo fossero incluse nel linguaggio e che spesso per ogni progetto dobbiamo riscrivere. Spesso queste sono composte da una riga e possiamo ottimizzarne la scrittura.
function notEmpty(s){ return s!='' && s.length > 0; } /// const notEmpty = s => s!='' && s.length > 0;
Esecuzione di funzioni in base a condizioni
Recuperando l'esempio appena descritto, immaginiamo di voler eseguire una funzione solo a seguito di una condizione.
const ok = () => console.log("Ok"); const notOk = () => console.log("Not Ok"); if(s==="pippo"){ ok(); }else{ notOk(); }
La parte condizionale può essere semplificata utilizzando l'operatore ternario e invocando l'esecuzione della funzione a posteriori della scelta.
(s === 'pippo' ? ok : notOk)();
Operazioni su numeri e stringhe
Come ultimo esempio per questo script osserviamo come convertire una stringa in numero, scrivere al meglio l'operazione di esponente e scrivere in modo leggibile un numero molto grande o molto piccolo
var n1 = parseInt("1"); var n2 = parseFloat("2.1"); /// var n1 = +"1"; var n2 = +"2.1";
var n = 10 * 10 * 10; var n = Math.pow(10, 3); /// var n = 10 ** 3;
var n1 = 10000; var n2 = 500000000; var n3 = 0.000099; /// var n1 = 1e4; var n2 = 5e8 var n3 = 9.9e-5;
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Specificare il versioning nel path degli URL in ASP.NET Web API
Utilizzare gli snapshot con Azure File shares
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Utilizzare flat e flatMap per appiattire array innestati in array
Hosting di componenti WebAssembly in un'applicazione Blazor static
Load test di ASP.NET Core con k6
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Utilizzare i nuovi piani dedicati di Azure Container Apps
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API