⊗jsSpOtRO 270 of 294 menu

JavaScript-də Təkrarlanan Əməliyyatların Optimallaşdırılması

Tez-tez başlayan proqramçılar düşünmədən eyni funksiyanı bir neçə dəfə çağıraraq resursları israf edirlər.

Gəlin bir nümunəyə baxaq. Tutaq ki, bizə müəyyən bir yolu ehtiva edən bir sətir verilib:

let path = 'img.png';

Tutaq ki, qarşımızda yolun .png və ya .jpg genişlənməsi ilə bitib-bitmədiyini yoxlamaq vəzifəsi durur. Bəzi başlayan proqramçı aşağıdakı həlli yazıb:

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

Bu həlldə nə səhvdir? Problem ondadır ki, slice metodu eyni şeyi edərək iki dəfə çağırılır. Bu, əlbəttə ki, optimal deyil.

Optimallaşdırmaq üçün sətirin kəsmə əməliyyatını bir dəfə yerinə yetirmək, nəticəni dəyişəndə yazmaq, sonra isə bu dəyişəni bundan sonra istifadə etmək lazımdır:

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

Aşağıdakı kodu optimallaşdırın:

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

Aşağıdakı kodu optimallaşdırın:

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

Aşağıdakı kodu optimallaşdırın:

let date = new Date(); let res; if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) { res = 'il ' + date.getFullYear() + ' uyğundur'; } else { res = 'il ' + date.getFullYear() + ' uyğun deyil'; } console.log(res)
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et