← Kembali ke kursus
Pelajaran kursus · JavaScript
Pelajaran 46

localStorage dan sessionStorage

Simpan data di browser — bertahan setelah refresh.

Pahami konsepnya

localStorage menyimpan data di browser yang BERTAHAN setelah tab ditutup dan browser di-restart — sempurna untuk preferensi pengguna, tema, dan keranjang belanja. sessionStorage sama tapi hilang saat tab ditutup — cocok untuk data sementara seperti form yang belum disubmit.

API: localStorage.setItem("kunci", nilai), getItem("kunci"), removeItem("kunci"), clear(). Nilai SELALU string — objek perlu JSON.stringify untuk menyimpan dan JSON.parse untuk membaca. Key dapat diiterasi lewat Object.keys(localStorage).

Jumlah penyimpanan: sekitar 5-10MB per origin — cukup untuk kebutuhan ringan. Untuk data besar atau offline penuh, gunakan IndexedDB (database di browser).

Coba contoh kode

<!doctype html>
<html>
<body>
  <script>
    // simpan string
    localStorage.setItem("nama", "Ari");

    // simpan objek (harus stringify)
    const user = { nama: "Budi", umur: 20 };
    localStorage.setItem("user", JSON.stringify(user));

    // baca
    console.log(localStorage.getItem("nama"));  // "Ari"

    const balik = JSON.parse(localStorage.getItem("user"));
    console.log(balik.nama);  // "Budi"

    // hapus
    localStorage.removeItem("nama");
    console.log(localStorage.getItem("nama"));  // null
  </script>
</body>
</html>

Objek disimpan sebagai string JSON — stringify untuk menyimpan, parse untuk membaca. getItem mengembalikan null bila kunci tidak ada (bukan error).

Latihan singkat

Uji: simulasi localStorage — set/get/remove dengan Map.