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
Response streaming con Blazor e .NET 10
Ridimensionamento automatico input tramite CSS
Ottimizzare la content-visibility in CSS specificando lo spazio da occupato dall'area non renderizzata
Gestire gli errori nelle Promise JavaScript con try()
Usare il metodo nameof con un tipo generico in C# 14
Disabilitare la telemetria nella CLI di GitHub
Creare un indice su una colonna JSON in SQL Server
Utilizzare le View Transition API di JavaScript
How to be a DevOps engineer in the AI era
Gestire pubblicazione Kubernetes tramite .NET Aspire
Importare un servizio esterno in .NET Aspire
Avviare rapidamente un container con Azure Container Apps Express


