⊗jsSpOtRO 270 of 294 menu

Toistuvien operaatioiden optimointi JavaScriptissä

Usein aloittelevat ohjelmoijat suorittavat huolimattomasti saman funktion kutsun useita kertoja, kuluttaen resursseja.

Katsotaanpa esimerkkiä. Oletetaan, että meillä on merkkijono, joka sisältää tietyn polun:

let path = 'img.png';

Oletetaan, että tehtävämme on tarkistaa, päättyykö polku tunnisteeseen .png tai .jpg. Eräs aloitteleva ohjelmoija kirjoitti seuraavan ratkaisun:

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

Mikä tässä ratkaisussa on vialla? Ongelmana on, että metodia slice kutsutaan kahdesti, tehden saman asian. Tämä ei tietenkään ole optimaalista.

Optimoimiseksi on suoritettava merkkijonon leikkaus kerran, tallennettava tulos muuttujaan ja sitten käytettävä tätä muuttujaa edelleen:

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

Optimoi alla oleva koodi:

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

Optimoi alla oleva koodi:

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

Optimoi alla oleva koodi:

let date = new Date(); let res; if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) { res = 'year ' + date.getFullYear() + ' fits'; } else { res = 'year ' + date.getFullYear() + ' doesn't fit'; } console.log(res)
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää