localStorage în JavaScript

Pagina web (DOM) Toate browserele moderne

Salvează date în browserul vizitatorului, care rămân și după închiderea paginii.

Sintaxă
localStorage.setItem(cheie, valoare)
localStorage.getItem(cheie)
localStorage.removeItem(cheie)

Ce face localStorage

localStorage păstrează perechi cheie–valoare în browser, separat pentru fiecare site. Datele rămân și după închiderea browserului, până când sunt șterse.

Se pot salva doar texte. Obiectele și tablourile se transformă cu JSON.stringify la salvare și cu JSON.parse la citire. getItem returnează null pentru o cheie care nu există.

Spațiul este mic (în jur de 5 MB) și orice script de pe pagină poate citi datele, deci nu salva acolo parole sau token-uri de autentificare.

Parametri

Parametru Descriere
cheie Numele sub care salvezi valoarea.
valoare Textul salvat.

Ce returnează

getItem returnează textul salvat sau null.

Exemple

Exemplul 1: Salvare, citire, ștergere

localStorage.setItem("tema", "întunecată");
console.log(localStorage.getItem("tema"));

localStorage.removeItem("tema");
console.log(localStorage.getItem("tema"));

Rezultat în browser

întunecată
null

Exemplul 2: Un coș de cumpărături salvat

const cos = JSON.parse(localStorage.getItem("cos")) || [];
cos.push({ produs: "Carte", pret: 45 });
localStorage.setItem("cos", JSON.stringify(cos));

console.log(`Produse în coș: ${cos.length}`);

Rezultat în browser, la prima rulare

Produse în coș: 1

Greșeli frecvente

  • Salvezi un obiect direct și la citire primești textul "[object Object]". Folosește JSON.stringify.
  • Citești un număr și faci calcule cu el ca text: localStorage.getItem("vizite") + 1 dă "11". Transformă-l cu Number().
  • Salvezi date sensibile (parole, token-uri). Orice script de pe pagină le poate citi.

Comenzi înrudite

  • JSON.stringify: Transformă un obiect sau tablou JavaScript în text JSON.
  • JSON.parse: Transformă un text JSON într-un obiect sau tablou JavaScript.
  • parseInt / Number: Transformă un text în număr: parseInt pentru întregi, parseFloat pentru zecimale, Number pentru conversie strictă.