0Pricing
HTML Academy · Lezione

Ottenere, impostare e rimuovere elementi

Usare la Web Storage API per leggere e scrivere dati

Ottenere, impostare e rimuovere elementi è una lezione HTML Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento HTML Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso HTML Academy include 4 lezioni in totale.

La superficie dell'API Storage

Sia localStorage sia sessionStorage espongono gli stessi quattro metodi fondamentali: getItem(key), setItem(key, value), removeItem(key) e clear(). Sono semplici archivi chiave-valore gestiti dal browser.

setItem memorizza stringhe

localStorage.setItem("theme", "dark") memorizza in modo persistente una stringa con la chiave "theme". Sia la chiave sia il valore devono essere stringhe; i valori non stringa vengono convertiti tramite String() prima della memorizzazione, corrompendo silenziosamente oggetti e array.

localStorage.setItem("theme", "dark");
localStorage.setItem("count", "42");

Memorizzare oggetti con JSON

Per memorizzare dati strutturati, li serializzi con JSON: localStorage.setItem("user", JSON.stringify(user)). Per leggerli nuovamente: const user = JSON.parse(localStorage.getItem("user")). Racchiuda sempre l'analisi in try/catch, nel caso in cui il valore memorizzato sia malformato.

const user = { name: "Ada", age: 30 };
localStorage.setItem("user", JSON.stringify(user));
const loaded = JSON.parse(localStorage.getItem("user"));

getItem restituisce una stringa o null

getItem("missing") restituisce null quando la chiave non esiste, mai undefined. Utilizzi l'operatore di coalescenza nullish per fornire valori predefiniti: const theme = localStorage.getItem("theme") ?? "light".

Sintassi per l'accesso alle proprietà

Può utilizzare anche la notazione con parentesi quadre e quella con il punto: localStorage.theme = "dark" e localStorage["theme"]. Entrambe funzionano, ma rendono meno chiara l'intenzione. Preferisca le chiamate esplicite ai metodi, che comunicano chiaramente che si tratta di storage persistente e non di una proprietà di un oggetto.

removeItem e clear

localStorage.removeItem("theme") elimina una singola chiave. localStorage.clear() elimina tutte le chiavi dell'origine corrente. clear() è distruttivo: non lo chiami mai senza una valida ragione, perché rimuove i dati impostati da ogni script presente nella pagina.

Iterare sulle chiavi memorizzate

Utilizzi localStorage.length e localStorage.key(index) per scorrere tutte le chiavi memorizzate, oppure espanda Object.keys(localStorage). È utile per le migrazioni, il debugging e la pulizia basata su prefissi, ad esempio per rimuovere tutte le chiavi che iniziano con "cache:".

for (let i = 0; i < localStorage.length; i++) {
  const key = localStorage.key(i);
  console.log(key, localStorage.getItem(key));
}

Errori di superamento della quota

I browser allocano circa 5-10 MB per origine. Il superamento della quota genera un QuotaExceededError. Racchiuda setItem in try/catch quando memorizza valori potenzialmente grandi, come cache di immagini o bozze di documenti, in modo che l'errore non provochi l'arresto dell'applicazione.

try {
  localStorage.setItem("draft", largeString);
} catch (e) {
  if (e.name === "QuotaExceededError") {
    // free space, warn user, or fall back
  }
}

Namespace per le chiavi

Lo storage è condiviso da tutta l'origine. Aggiunga alle chiavi il prefisso del nome dell'app o della funzionalità (app:settings, cart:items) per evitare conflitti con altri script, librerie di terze parti ed estensioni del browser eseguiti sulla stessa origine.

Sincrono e bloccante

La Storage API è completamente sincrona: ogni chiamata blocca il thread principale finché l'I/O su disco non è completato. Eviti di memorizzare blob molto grandi o di chiamare setItem all'interno di cicli stretti; raggruppi invece gli aggiornamenti in un singolo oggetto serializzato.

sessionStorage e localStorage

La stessa superficie dell'API, ma una durata diversa. sessionStorage viene cancellato alla chiusura della scheda; localStorage persiste tra i riavvii del browser. Scelga sessionStorage per lo stato effimero di una procedura guidata e localStorage per le preferenze dell'utente che devono sopravvivere a un aggiornamento.

Verifica delle conoscenze

Che cosa restituisce localStorage.getItem("missing-key") quando la chiave non è mai stata impostata?

Riepilogo

getItem, setItem, removeItem e clear sono i quattro pilastri della Web Storage. I valori sono sempre stringhe, quindi racchiuda i dati strutturati in JSON. Preveda restituzioni null, QuotaExceededError e l'uso di namespace per condividere correttamente l'origine con gli altri script.

Domande Frequenti

La lezione «Ottenere, impostare e rimuovere elementi» è gratuita?

Sì — il testo completo di «Ottenere, impostare e rimuovere elementi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso HTML Academy, passa a CoddyKit PRO. Il corso HTML Academy include 4 lezioni in totale.

Cosa imparerò in «Ottenere, impostare e rimuovere elementi»?

Usare la Web Storage API per leggere e scrivere dati Eserciti HTML Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare HTML Academy?

Non è richiesta alcuna esperienza precedente. HTML Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Ottenere, impostare e rimuovere elementi»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione HTML Academy?

Sì. Ogni lezione HTML Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. localStorage e sessionStorage a confronto
  2. Ottenere, impostare e rimuovere elementi
  3. Ascoltare gli eventi di archiviazione
  4. Sicurezza: cosa non archiviare mai
← Torna a HTML Academy