JavaScript localStorage Kullanımı: Veri Ekleme, Silme ve Güncelleme Rehberi

Tayyip Bölük Mayıs 11, 2025 Javascript
JavaScript LocalStorage

Web uygulamalarının kullanıcı deneyimini iyileştirmek için en sık kullanılan yöntemlerden biri JavaScript localStorage, kullanıcıya ait verileri tarayıcıda saklamaktır. Bu işlem sayesinde kullanıcı verileri sunucuya ihtiyaç duyulmadan yerel olarak depolanabilir ve sonraki ziyaretlerde kullanıcı deneyimi kişiselleştirilebilir. JavaScript ile bu işlemi yapmanın en pratik yollarından biri localStorage kullanmaktır. Bu yazıda, JavaScript ile localStorage kullanımı, veri ekleme, silme ve güncelleme işlemlerini detaylı ve örneklerle açıklayacağız. Ayrıca gerçek hayattan örnekler ve best practice’lerle konuyu derinlemesine ele alacağız.

localStorage Nedir?

localStorage, HTML5 ile birlikte gelen bir web API’sidir ve kullanıcı tarayıcısında kalıcı veri saklamak için kullanılır. Diğer bir deyişle, kullanıcı tarayıcısını kapatsa bile veriler silinmez. localStorage, anahtar-değer (key-value) çifti yapısıyla çalışır ve yalnızca string (metin) veri saklayabilir. Ancak JSON formatı ile nesne ve diziler de kolayca depolanabilir.

Avantajları:

  • Kolay ve hızlıdır.
  • Tarayıcı kapansa bile veri kalıcıdır.
  • Oturumdan bağımsız çalışır.
  • Kullanıcı bazlı veri saklamada idealdir.

Kısıtlamaları:

  • Maksimum kapasite genellikle 5MB civarındadır (tarayıcıya göre değişebilir).
  • Sadece string veri saklar. (Ancak JSON.stringify() ve JSON.parse() ile bu kısıt aşılabilir.)
  • Güvenli değildir. Kullanıcı veya kötü amaçlı yazılımlar verileri okuyabilir.

JavaScript localStorage Nasıl Kullanılır?

localStorage API’si dört temel yöntem içerir:

// Veri eklemek veya güncellemek için:
localStorage.setItem('anahtar', 'deger');

// Veriyi almak için:
const veri = localStorage.getItem('anahtar');

// Belirli bir anahtarı silmek için:
localStorage.removeItem('anahtar');

// Tüm localStorage verilerini temizlemek için:
localStorage.clear();

Bu basit metodlar sayesinde veri eklemek, okumak veya silmek oldukça kolay hale gelir.

Örnek 1: Basit Metin Verisi Ekleme ve Okuma

<input type="text" id="kullaniciAdi" placeholder="Adınızı girin">
<button onclick="veriyiKaydet()">Kaydet</button>
<button onclick="veriyiGoster()">Göster</button>

<script>
function veriyiKaydet() {
  const ad = document.getElementById('kullaniciAdi').value;
  localStorage.setItem('ad', ad);
}

function veriyiGoster() {
  const kayitliAd = localStorage.getItem('ad');
  alert('Kayıtlı ad: ' + kayitliAd);
}
</script>

Bu örnekte kullanıcı bir isim girer ve “Kaydet” butonuna bastığında veri localStorage’a kaydedilir. “Göster” butonuna tıklanınca saklanan veri kullanıcıya bildirim olarak gösterilir.

Örnek 2: JSON Veri Yapısı ile Liste Saklamak

localStorage sadece string veri saklayabildiği için dizi ve nesne gibi veri yapıları JSON.stringify() ile string’e çevrilerek saklanır. Geri çağırırken ise JSON.parse() kullanılır.

function listeyeEkle(yeniGorev) {
  let liste = JSON.parse(localStorage.getItem('gorevler')) || [];
  liste.push(yeniGorev);
  localStorage.setItem('gorevler', JSON.stringify(liste));
}

function listeyiGoster() {
  let liste = JSON.parse(localStorage.getItem('gorevler')) || [];
  liste.forEach((gorev, index) => {
    console.log(index + 1 + '. Görev: ' + gorev);
  });
}

listeyeEkle("Kod yaz");
listeyeEkle("Blog hazırla");
listeyiGoster();

Bu örnek sayesinde bir görev listesi tarayıcı belleğinde kalıcı olarak saklanabilir. Kullanıcı sayfayı kapatsa bile görev listesi kaybolmaz.

localStorage’dan Veri Silme

Verileri silmek için iki temel yöntem vardır:

Belirli bir anahtarı silmek:

localStorage.removeItem('ad');

Tüm localStorage verilerini silmek:

localStorage.clear();

Bu işlemlerle tarayıcı belleği kolayca kontrol altında tutulabilir.

Örnek 3: Listeden Eleman Silmek

function gorevSil(index) {
  let liste = JSON.parse(localStorage.getItem('gorevler')) || [];
  liste.splice(index, 1);
  localStorage.setItem('gorevler', JSON.stringify(liste));
}

Bu fonksiyon, belirtilen index’e sahip görevi görev listesinden siler ve localStorage’ı günceller. Dinamik uygulamalarda oldukça işe yarar.

Uygulama: Dinamik ve Kalıcı Bir Görev Listesi

<input type="text" id="gorevInput">
<button onclick="gorevEkle()">Ekle</button>
<ul id="gorevListesi"></ul>

<script>
function gorevEkle() {
  let gorev = document.getElementById('gorevInput').value;
  if (!gorev.trim()) return;
  let liste = JSON.parse(localStorage.getItem('gorevler')) || [];
  liste.push(gorev);
  localStorage.setItem('gorevler', JSON.stringify(liste));
  listeyiYazdir();
}

function listeyiYazdir() {
  let liste = JSON.parse(localStorage.getItem('gorevler')) || [];
  const ul = document.getElementById('gorevListesi');
  ul.innerHTML = '';
  liste.forEach((gorev, index) => {
    ul.innerHTML += `<li>${gorev} <button onclick="gorevSil(${index})">Sil</button></li>`;
  });
}

function gorevSil(index) {
  let liste = JSON.parse(localStorage.getItem('gorevler')) || [];
  liste.splice(index, 1);
  localStorage.setItem('gorevler', JSON.stringify(liste));
  listeyiYazdir();
}

window.onload = listeyiYazdir;
</script>

Bu uygulama, localStorage kullanarak bir görev listesi oluşturur. Kullanıcı yeni görev ekleyebilir, mevcut görevleri görüntüleyebilir ve silebilir. Sayfa yenilense bile veriler kaybolmaz.

localStorage Kullanırken Dikkat Edilmesi Gerekenler

  • Veri Güvenliği: localStorage şifreli değildir. Hassas bilgileri (şifre, token) burada tutmak önerilmez.
  • Veri Boyutu: 5MB limiti nedeniyle büyük veriler için uygun değildir.
  • Tarayıcı Uyumluluğu: Modern tarayıcıların neredeyse tamamı destekler. Ancak Internet Explorer gibi eski tarayıcılarda test yapılmalıdır.
  • Cross-Site Veri Paylaşımı: localStorage verileri sadece aynı domain ve port üzerinde kullanılabilir. Alt domainlerde veri paylaşımı mümkün değildir.

Sonuç

JavaScript localStorage kullanımı, özellikle küçük ve orta ölçekli projelerde kullanıcı verilerini hızlı ve kolay bir şekilde saklamak için ideal bir yöntemdir. Veri eklemek, silmek ve güncellemek gibi işlemler oldukça basit olup JSON ile birlikte kullanıldığında çok daha esnek hale gelir. Form verisi saklama, alışveriş sepeti oluşturma, tema ayarları tutma, görev listeleri veya oyun verileri gibi pek çok senaryoda kullanılabilir.

Uygulamalarınızda kullanıcı deneyimini iyileştirmek ve verileri yönetmek istiyorsanız, JavaScript localStorage mutlaka öğrenmeniz gereken bir web API’sidir. Daha fazlası için “Javascript” kategorisine bakabilirsin.

  1. localStorage nedir ve ne işe yarar?

    localStorage, HTML5 ile gelen bir web API’sidir. Kullanıcının tarayıcısında kalıcı olarak veri saklamaya yarar. Sayfa kapatılsa veya tarayıcı yeniden başlatılsa bile veriler silinmez. Özellikle kullanıcı bilgileri, tercihleri veya geçici uygulama verileri gibi bilgilerin saklanmasında kullanılır.

  2. localStorage ile sessionStorage arasındaki fark nedir?

    Her ikisi de tarayıcı tabanlı veri saklama yöntemleridir ancak:
    localStorage verileri kalıcıdır, tarayıcı kapansa bile silinmez.
    sessionStorage verileri yalnızca o sekme/sayfa oturumu boyunca saklanır, sekme kapatıldığında silinir.

  3. localStorage güvenli midir?

    localStorage güvenli değildir çünkü veriler şifrelenmeden saklanır ve tarayıcı üzerinden herkes erişebilir. Hassas bilgiler (şifreler, tokenlar vb.) kesinlikle burada tutulmamalıdır.

  4. localStorage ne kadar veri saklayabilir?

    Tarayıcıya göre değişiklik gösterse de genellikle her domain için ortalama 5 MB veri saklama limiti vardır.

  5. localStorage’a nesne veya dizi ekleyebilir miyim?

    Evet, ancak doğrudan ekleyemezsiniz. Nesne ve diziler önce JSON.stringify() ile string’e çevrilmeli, alırken ise JSON.parse() ile orijinal yapısına döndürülmelidir.

  6. localStorage’daki veriler nasıl silinir?

    Belirli bir veri silmek için: localStorage.removeItem("anahtar")
    Tüm verileri silmek için: localStorage.clear()

  7. localStorage kullanımı SEO’yu etkiler mi?

    localStorage, SEO açısından doğrudan etkili değildir çünkü arama motorları client-side verileri (JS ile dinamik üretilen içerikler dahil) genellikle indekslemez. Ancak kullanıcı deneyimini artırarak dolaylı yoldan SEO’ya katkı sağlar.

  8. localStorage tüm tarayıcılarda çalışır mı?

    Evet, modern tüm tarayıcılarda (Chrome, Firefox, Safari, Edge vb.) desteklenir. Ancak Internet Explorer’ın eski sürümleri gibi bazı tarayıcılarda sınırlamalar olabilir. Bu nedenle önceden kontrol edilmesi önerilir.

  9. localStorage verileri başka bir siteden okunabilir mi?

    Hayır, localStorage sadece aynı domain ve port üzerindeki sayfalardan erişilebilir. Bu da veri güvenliğini kısmen artırır ancak kötü amaçlı yazılımlara karşı koruma sağlamaz.

  10. localStorage kullanmak için kullanıcıdan izin almak gerekir mi?

    Hayır, localStorage kullanımı için herhangi bir izin gerekmez. Ancak çerez politikası kapsamında kullanıcıyı bilgilendirmek, yasal açıdan önemlidir.

Kaynak w3schools

Etiketler: JavaScript LocalStorage
Paylaş:
Tayyip Bölük

Merhaba! Ben Tayyip Bölük, yazılım geliştirme alanında uzmanlaşmış bir geliştiriciyim. Teknoloji ve yazılım dünyasına olan ilgim, beni bu blogu oluşturmaya yönlendirdi. Amacım, yazılım geliştirme sürecindeki deneyimlerimi, öğrendiklerimi ve sektördeki yenilikleri okuyucularımla paylaşmak. Yazılım geliştirme sürecindeki yenilikçi yaklaşımlar, uygulama geliştirme ipuçları ve teknoloji trendleri üzerine içerikler üretiyorum. Blogumda ayrıca kendi projelerimden ve sektördeki ilham verici hikayelerden de bahsediyorum. Bu blog, hem yazılım meraklıları hem de sektöre adım atmak isteyenler için bir bilgi ve ilham kaynağı olmayı hedefliyor.

0 Yorum

Henüz yorum yapılmamış. İlk yorumu siz yapabilirsiniz!

Yorum Yap

Bir Yorum Yazın

E-posta adresiniz paylaşılmayacak. Gerekli alanlar * ile işaretlenmiştir.