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
Definire stili a livello di libreria in Angular
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Ottimizzare le performance usando Span<T> e il metodo Split
Cambiare la chiave di partizionamento di Azure Cosmos DB
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Creare una libreria CSS universale: Clip-path
Ordinare randomicamente una lista in C#
Sfruttare al massimo i topic space di Event Grid MQTT
Gestire gli accessi con Token su Azure Container Registry
Gestire la cancellazione di una richiesta in streaming da Blazor
Testare l'invio dei messaggi con Event Hubs Data Explorer