Pobieranie, ustawianie i usuwanie elementów
Używanie Web Storage API do odczytywania i zapisywania danych
Pobieranie, ustawianie i usuwanie elementów to bezpłatna lekcja HTML Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej HTML Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs HTML Academy zawiera 4 lekcji w sumie.
Interfejs API Storage
Zarówno localStorage, jak i sessionStorage udostępniają te same cztery podstawowe metody: getItem(key), setItem(key, value), removeItem(key) i clear(). Są to proste magazyny klucz-wartość obsługiwane przez przeglądarkę.
setItem przechowuje ciągi znaków
localStorage.setItem("theme", "dark") utrwala ciąg znaków pod kluczem "theme". Zarówno klucz, jak i wartość muszą być ciągami znaków — wartości innego typu są przed zapisaniem konwertowane za pomocą String(), co może po cichu zniekształcić obiekty i tablice.
localStorage.setItem("theme", "dark");
localStorage.setItem("count", "42");Przechowywanie obiektów za pomocą JSON
Aby przechowywać dane strukturalne, należy przeprowadzić ich serializację za pomocą JSON: localStorage.setItem("user", JSON.stringify(user)). Odczyt danych wygląda następująco: const user = JSON.parse(localStorage.getItem("user")). Parsowanie należy zawsze umieszczać w bloku try/catch na wypadek, gdyby zapisana wartość była niepoprawna.
const user = { name: "Ada", age: 30 };
localStorage.setItem("user", JSON.stringify(user));
const loaded = JSON.parse(localStorage.getItem("user"));getItem zwraca ciąg znaków lub null
getItem("missing") zwraca null, gdy klucz nie istnieje — nigdy undefined. Operatora nullish coalescing należy używać do zapewniania wartości domyślnych: const theme = localStorage.getItem("theme") ?? "light".
Składnia dostępu do właściwości
Można również używać notacji nawiasowej i kropkowej: localStorage.theme = "dark" oraz localStorage["theme"]. Obie działają, ale zacierają intencję — lepiej używać jawnych wywołań metod, które wyraźnie wskazują, że chodzi o trwały magazyn, a nie właściwość obiektu.
removeItem i clear
localStorage.removeItem("theme") usuwa pojedynczy klucz. localStorage.clear() usuwa wszystkie klucze dla bieżącego originu. clear() jest operacją destrukcyjną — nie należy jej wywoływać bez ważnego powodu, ponieważ usuwa dane ustawione przez każdy skrypt na stronie.
Iterowanie po zapisanych kluczach
Użyj localStorage.length i localStorage.key(index), aby przejść przez wszystkie zapisane klucze, albo rozwiń Object.keys(localStorage). Jest to przydatne podczas migracji, debugowania i czyszczenia według prefiksu, na przykład przy usuwaniu wszystkich kluczy zaczynających się od "cache:".
for (let i = 0; i < localStorage.length; i++) {
const key = localStorage.key(i);
console.log(key, localStorage.getItem(key));
}Błędy przekroczenia limitu
Przeglądarki przydzielają około 5–10 MB na origin. Przekroczenie limitu powoduje zgłoszenie błędu QuotaExceededError. Podczas przechowywania potencjalnie dużych wartości, takich jak pamięci podręczne obrazów lub wersje robocze dokumentów, należy opakować setItem w try/catch, aby błąd nie spowodował awarii aplikacji.
try {
localStorage.setItem("draft", largeString);
} catch (e) {
if (e.name === "QuotaExceededError") {
// free space, warn user, or fall back
}
}Przestrzenie nazw kluczy
Magazyn jest współdzielony w obrębie całego originu. Aby uniknąć kolizji z innymi skryptami, bibliotekami stron trzecich i rozszerzeniami przeglądarki działającymi w tym samym originie, należy poprzedzać klucze nazwą aplikacji lub funkcji (app:settings, cart:items).
Synchroniczność i blokowanie
API Storage jest w pełni synchroniczne — każde wywołanie blokuje wątek główny do zakończenia operacji wejścia/wyjścia na dysku. Należy unikać przechowywania bardzo dużych obiektów blob oraz wywoływania setItem w ciasnych pętlach; zamiast tego warto łączyć aktualizacje w jeden serializowany obiekt.
sessionStorage a localStorage
Ten sam interfejs API, inny czas życia. sessionStorage jest czyszczony po zamknięciu karty, a localStorage pozostaje zachowany po ponownym uruchomieniu przeglądarki. sessionStorage należy wybrać do ulotnego stanu kreatora, a localStorage do preferencji użytkownika, które powinny przetrwać ponowne załadowanie strony.
Sprawdzenie wiedzy
Co zwraca localStorage.getItem("missing-key"), gdy klucz nigdy nie został ustawiony?
Podsumowanie
getItem, setItem, removeItem i clear to cztery podstawowe elementy Web Storage. Wartości są zawsze ciągami znaków, dlatego dane strukturalne należy opakowywać za pomocą JSON. Trzeba uwzględnić zwracanie null, błąd QuotaExceededError oraz stosować przestrzenie nazw, aby współdzielić origin z innymi skryptami bez konfliktów.
Często zadawane pytania
Czy lekcja „Pobieranie, ustawianie i usuwanie elementów” jest bezpłatna?
Tak — pełny tekst „Pobieranie, ustawianie i usuwanie elementów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu HTML Academy, przejdź na CoddyKit PRO. Kurs HTML Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Pobieranie, ustawianie i usuwanie elementów”?
Używanie Web Storage API do odczytywania i zapisywania danych Ćwiczysz HTML Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć HTML Academy?
Nie wymagamy żadnego doświadczenia. HTML Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Pobieranie, ustawianie i usuwanie elementów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji HTML Academy?
Tak. Każda lekcja HTML Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- localStorage a sessionStorage
- Pobieranie, ustawianie i usuwanie elementów
- Nasłuchiwanie zdarzeń storage
- Bezpieczeństwo — czego nigdy nie przechowywać w magazynie