JavaScriptда такрорланган амалларни оптимизация қилиш
Кўпинча бошланувчи дастурчилар андишасиз бир хил функцияни бир неча марта чақириб, ресурсларни исроф қиладилар.
Келинг, мисолда кўрамиз. Бизда маълум йўлни ифодаловчи сатр берилган бўлсин:
javascriptlet path = 'img.png';
Фарз қилайлик, бизга йўлнинг .png ёки .jpg кенгайтмаси билан тугашини
текшириш вазифаси юклатилган. Бир бошланувчи
дастурчи куйидаги ечимни язган:
javascriptlet path = 'img.png';
if (path.slice(-4) === '.png' || path.slice(-4) === '.jpg') {
console.log('+++');
} else {
console.log('---');
}
Бу ечимда нима но tugri? Муаммо шундаки,
slice усули бир хил ишни бажариб,
икки марта чақирилмоқда. Бу, албатта,
оптимал эмас.
Оптимизация қилиш учун сатрни кесиб олишни бир марта бажариб, натижани ўзгарувчига ёзиб олиш, сўнг эса бу ўзгарувчини кейинги ишларда ишлатиш керак:
javascriptlet path = 'img.png';
let ext = path.slice(-4);
if (ext === '.png' || ext === '.jpg') {
console.log('+++');
} else {
console.log('---');
}
Куйида берилган кодни оптимизация қилинг:
javascriptlet num = 123;
if (String(num)[0] === '1' || String(num)[0] === '2') {
console.log('+++');
} else {
console.log('---');
}
Куйида берилган кодни оптимизация қилинг:
javascriptlet date = new Date();
if (date.getDay() === 0 || date.getDay() === 6) {
console.log('weekend');
} else {
console.log('weekday');
}
Куйида берилган кодни оптимизация қилинг:
javascriptlet 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)