⊗jsSpOtRO 270 of 294 menu

Оптимизација понављајућих операција у JavaScript-у

Често почетни програмери неразмишљајући обављају позив исте функције неколико пута, трошећи ресурсе.

Хајде да погледамо пример. Нека нам је дат стринг који садржи неки пут:

let path = 'img.png';

Нека је пред нама задатак да проверимо, да ли пут завршава екстензијом .png или .jpg. Неки почетни програмер написао је следеће решење:

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

Шта није у реду са овим решењем? Проблем је у томе, што се метод slice позива два пута, радећи исту ствар. То, наравно, није оптимално.

За оптимизацију је потребно извршити одсецање стринга једном, упамтити резултат у променљиву, а затим користити ту променљиву даље:

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

Оптимизујте код испод:

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

Оптимизујте код испод:

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

Оптимизујте код испод:

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)
Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј