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
Le novità di Blazor in .NET 6.0
Scaling per app con Azure App Service
Integrare e trasformare dati con Azure Data Factory
Utilizzare la parola chiave var con lambda eExpression e method group in C# 10
Autenticazione basata su certificati con ASP.NET Core
Nullish coalescing e decostruzione in JavaScript
Iniettare servizi in un hosted service di ASP.NET Core
Serializzare un enum come stringa con System.Text.Json
Commentare una issue associata ad una pull request tramite un workflow di GitHub
Blazor + .NET 6 = .NET ovunque
Ottimizzare il codice JavaScript con i Shorthand Patterns - terza parte
Configurare .NET 6 su Azure Web App con ARM