⊗jsSpOtRO 270 of 294 menu

Optimización de operaciones repetitivas en JavaScript

A menudo, los programadores principiantes realizan sin pensar la llamada a la misma función varias veces, consumiendo recursos.

Veamos un ejemplo. Supongamos que tenemos una cadena que contiene alguna ruta:

let path = 'img.png';

Supongamos que tenemos la tarea de verificar si la ruta termina con la extensión .png o .jpg. Algún programador principiante escribió la siguiente solución:

let path = 'img.png'; if (path.slice(-4) === '.png' || path.slice(-4) === '.jpg') { console.log('+++'); } else { console.log('---'); }

¿Qué está mal con esta solución? El problema es que el método slice se llama dos veces, haciendo lo mismo. Esto, por supuesto, no es óptimo.

Para optimizar, necesita realizar el corte de la cadena una vez, guardar el resultado en una variable y luego usar esta variable más adelante:

let path = 'img.png'; let ext = path.slice(-4); if (ext === '.png' || ext === '.jpg') { console.log('+++'); } else { console.log('---'); }

Optimice el siguiente código:

let num = 123; if (String(num)[0] === '1' || String(num)[0] === '2') { console.log('+++'); } else { console.log('---'); }

Optimice el siguiente código:

let date = new Date(); if (date.getDay() === 0 || date.getDay() === 6) { console.log('fin de semana'); } else { console.log('día laboral'); }

Optimice el siguiente código:

let date = new Date(); let res; if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) { res = 'el año ' + date.getFullYear() + ' es adecuado'; } else { res = 'el año ' + date.getFullYear() + ' no es adecuado'; } console.log(res)
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar