JavaScript-da gaýtalanýan amallary optimizasiýa etmek
Köp wagtlaryň özünde başlangyç programmistler göz öňünde tutman, birnäçe gezek şol bir funksiýany çagyryp, çeşmeleri sarp edýärler.
Geliň mysal üçinde göreli. Bizde käbir ýoly görkezýän setir berlen bolsun:
let path = 'img.png';
Öňümizde duran wezipesetiriň soňy .png ýa-da .jpg giňeldiş bilen gutarýandygyny barlap görüň. Käbir başlangyç programmist aşakdaky çözgüdi ýazdy:
let path = 'img.png';
if (path.slice(-4) === '.png' || path.slice(-4) === '.jpg') {
console.log('+++');
} else {
console.log('---');
}
Bu çözgütde näme nädogry? Meselä şonda, slice metodi iki gezek çagyrylyp, bir zady edýär. Bu, elbetde, optimal däl.
Optimizasiýa üçin setiri bir gezek kesip, netijäni üýtgeýän ululyga ýazmaly, soňra bolsa bu üýtgeýän ululygy mundan beýläk ulanyň:
let path = 'img.png';
let ext = path.slice(-4);
if (ext === '.png' || ext === '.jpg') {
console.log('+++');
} else {
console.log('---');
}
Aşakdaky kody optimizasiýa ediň:
let num = 123;
if (String(num)[0] === '1' || String(num)[0] === '2') {
console.log('+++');
} else {
console.log('---');
}
Aşakdaky kody optimizasiýa ediň:
let date = new Date();
if (date.getDay() === 0 || date.getDay() === 6) {
console.log('weekend');
} else {
console.log('weekday');
}
Aşakdaky kody optimizasiýa ediň:
let date = new Date();
let res;
if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) {
res = 'ýyl ' + date.getFullYear() + ' gabat gelýär';
} else {
res = 'ýyl ' + date.getFullYear() + ' gabat gelmeýär';
}
console.log(res)