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:
javascriptlet 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:
javascriptlet 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ň:
javascriptlet path = 'img.png';
let ext = path.slice(-4);
if (ext === '.png' || ext === '.jpg') {
console.log('+++');
} else {
console.log('---');
}
Задание 1
Aşakdaky kody optimizasiýa ediň:
javascriptlet num = 123;
if (String(num)[0] === '1' || String(num)[0] === '2') {
console.log('+++');
} else {
console.log('---');
}
Задание 2
Aşakdaky kody optimizasiýa ediň:
javascriptlet date = new Date();
if (date.getDay() === 0 || date.getDay() === 6) {
console.log('weekend');
} else {
console.log('weekday');
}
Задание 3
Aşakdaky kody optimizasiýa ediň:
javascriptlet 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)