JavaScript'te Tekrarlanan İşlemlerin Optimizasyonu
Çoğu zaman yeni başlayan programcılar, kaynakları tüketerek aynı fonksiyonu defalarca düşünmeden çağırırlar.
Bir örneğe bakalım. Bize bir yol içeren bir string verilsin:
javascriptlet path = 'img.png';
Diyelim ki görevimiz, yolun .png veya .jpg
uzantısıyla bitip bitmediğini kontrol etmek.
Bazı yeni başlayan programcılar
aşağıdaki çözümü yazmış:
javascriptlet path = 'img.png';
if (path.slice(-4) === '.png' || path.slice(-4) === '.jpg') {
console.log('+++');
} else {
console.log('---');
}
Bu çözümde ne yanlış? Sorun şu ki,
slice metodu iki kez çağrılıyor,
aynı şeyi yapıyor. Bu, elbette
optimal değil.
Optimizasyon için stringi kesme işlemini bir kez yapmalı, sonucu bir değişkene yazmalı ve ardından bu değişkeni kullanmalısınız:
javascriptlet path = 'img.png';
let ext = path.slice(-4);
if (ext === '.png' || ext === '.jpg') {
console.log('+++');
} else {
console.log('---');
}
Задание 1
Aşağıdaki kodu optimize edin:
javascriptlet num = 123;
if (String(num)[0] === '1' || String(num)[0] === '2') {
console.log('+++');
} else {
console.log('---');
}
Задание 2
Aşağıdaki kodu optimize edin:
javascriptlet date = new Date();
if (date.getDay() === 0 || date.getDay() === 6) {
console.log('weekend');
} else {
console.log('weekday');
}
Задание 3
Aşağıdaki kodu optimize edin:
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)