⊗jsSpOtRO 270 of 294 menu

Optimasi Operasi Berulang dalam JavaScript

Seringkali programmer pemula tanpa berpikir melakukan pemanggilan fungsi yang sama beberapa kali, menghabiskan sumber daya.

Mari kita lihat sebuah contoh. Misalkan kita diberikan sebuah string, berisi suatu path:

let path = 'img.png';

Misalkan tugas kita adalah memeriksa, apakah path berakhiran dengan ekstensi .png atau .jpg. Beberapa programmer pemula menulis solusi berikut:

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

Apa yang salah dengan solusi ini? Masalahnya adalah, method slice dipanggil dua kali, melakukan hal yang sama. Ini, tentu saja, tidak optimal.

Untuk mengoptimalkan, kita perlu melakukan pemotongan string sekali saja, mencatat hasilnya ke dalam variabel, lalu menggunakan variabel ini selanjutnya:

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

Optimalkan kode di bawah ini:

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

Optimalkan kode di bawah ini:

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

Optimalkan kode di bawah ini:

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)
Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak