1. Memoization ile Hızlı Fonksiyon Çağrıları
kopyalafunction memoize(fn) { const cache = {}; return function(...args) { const key = JSON.stringify(args); if (cache[key]) { return cache[key]; } const result = fn(...args); cache[key] = result; return result; }; }
Örnek: Fibonacci hesaplamaları gibi büyük hesaplamalar yapıyorsanız, memoization bu tür işlemleri hızlandırabilir. Hesaplanan sonuçları sakladığınızda, aynı sonuçları tekrar hesaplamak zorunda kalmazsınız.
2. Asenkron Kodlama: `async` ve `await` Kullanımı
kopyalaasync function fetchData() { const response = await fetch('https://api.example.com/data'); const data = await response.json(); return data; }
Not: Asenkron kod, işlemleri paralel olarak gerçekleştirmenize olanak tanır. Bu da özellikle I/O işlemleri için önemlidir.
3. Web Workers ile Paralel İşlem
kopyalaconst worker = new Worker('worker.js'); worker.postMessage('start'); // worker.js dosyası içinde onmessage = function(event) { // ağır işlem postMessage('işlem tamam'); };
Örnek Kullanım: Görsel işleme veya büyük veri setleri üzerinde hesaplamalar yapıyorsanız, Web Workers bu tür işlemleri ana iş parçacığından ayırarak performans iyileştirmesi sağlar.
4. Event Delegation ile DOM Manipülasyonu
kopyaladocument.querySelector('#parent').addEventListener('click', function(event) { if (event.target && event.target.matches('button.classname')) { // buttona tıklandığında yapılacak işlemler } });
Bu yöntem, özellikle dinamik içerik barındıran uygulamalarda sayfa performansını artırır.
5. Tree Shaking ile Gereksiz Koddan Kurtulmak
kopyalaimport { usefulFunction } from 'library';
Not: Tree shaking, modern JavaScript modüllerini (ES6+) kullanan projelerde oldukça etkilidir. Bu yöntem, yalnızca kullandığınız kodu paketleyerek uygulamanın boyutunu küçültür.
6. Lazy Loading ile Yalnızca İhtiyaç Duyduğunuz Kısımları Yükleyin
kopyala
Örnek: Sayfa kaydırıldıkça yeni görseller yüklemek, ilk başta yalnızca önemli olan içeriği hızlıca yüklemenizi sağlar.
7. Debouncing ve Throttling ile Olay Yönetimi
kopyalafunction debounce(func, delay) { let timer; return function() { clearTimeout(timer); timer = setTimeout(func, delay); }; }
Örnek: Kullanıcı kaydırma işlemi yaparken, her kaydırmada API çağrısı yapılmasını engelleyebilirsiniz.
8. CSS Animasyonlarıyla JavaScript’i Azaltın
kopyala@keyframes move { from { transform: translateX(0); } to { transform: translateX(100px); } } .element { animation: move 2s ease-in-out; }
CSS animasyonlarını tercih etmek, JavaScript yükünü azaltarak daha hızlı bir deneyim sağlar.
9. Browser Caching ile Tekrar Yüklemeleri Engelleyin
10. Modern JavaScript Söz Dizimi ve Özelliklerini Kullanın
Sonuç olarak, JavaScript performansını artırmak, yalnızca kullanıcı deneyimini iyileştirmekle kalmaz, aynı zamanda SEO açısından da oldukça faydalıdır. Yavaş yüklenen bir sayfa, ziyaretçi kaybına neden olabilir. Bu yüzden, kodunuzu optimize etmek, hem kullanıcı memnuniyetini hem de arama motoru sıralamanızı iyileştirir.