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