⊗jsSpOtRO 270 of 294 menu

Korduvate operatsioonide optimeerimine JavaScriptis

Sageli teevad algajad programmeerijad mõtlematult sama funktsiooni mitut korda välja kutsudes ressursse raiskades.

Vaatame näidet. Olgu meil antud string, mis sisaldab mingit teed:

let path = 'img.png';

Olgu meie ülesandeks kontrollida, kas tee lõpeb laiendiga .png või .jpg. Mõni algaja programmeerija kirjutas järgmise lahenduse:

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

Mis selle lahendusega on valesti? Probleem on selles, et meetodit slice kutsutakse kaks korda välja, tehes sama asja. See pole muidugi optimaalne.

Optimeerimiseks tuleb stringi lõikamine teha üks kord, tulemus kirjutada muutujasse ja seejärel kasutada seda muutujat edaspidi:

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

Optimeerige allolev kood:

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

Optimeerige allolev kood:

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

Optimeerige allolev kood:

let date = new Date(); let res; if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) { res = 'aasta ' + date.getFullYear() + ' sobib'; } else { res = 'aasta ' + date.getFullYear() + ' ei sobi'; } console.log(res)
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu