⊗jsSpOtRO 270 of 294 menu

Optimisation des opérations répétitives en JavaScript

Souvent, les programmeurs débutants appellent sans réfléchir la même fonction plusieurs fois, gaspillant des ressources.

Regardons un exemple. Supposons que nous ayons une chaîne contenant un certain chemin :

let path = 'img.png';

Supposons que nous ayons pour tâche de vérifier si le chemin se termine par l'extension .png ou .jpg. Un certain programmeur débutant a écrit la solution suivante :

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

Qu'est-ce qui ne va pas avec cette solution ? Le problème est que la méthode slice est appelée deux fois, faisant la même chose. Ce n'est, bien sûr, pas optimal.

Pour optimiser, il faut effectuer la découpe de la chaîne une seule fois, enregistrer le résultat dans une variable, puis utiliser cette variable ensuite :

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

Optimisez le code ci-dessous :

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

Optimisez le code ci-dessous :

let date = new Date(); if (date.getDay() === 0 || date.getDay() === 6) { console.log('weekend'); } else { console.log('jour de semaine'); }

Optimisez le code ci-dessous :

let date = new Date(); let res; if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) { res = 'l\'année ' + date.getFullYear() + ' convient'; } else { res = 'l\'année ' + date.getFullYear() + ' ne convient pas'; } console.log(res)
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser