LocalStorage & SessionStorage

Web Storage API provides two mechanisms for storing data in the browser: localStorage (persistent) and sessionStorage (session-only).

🤔 What is Web Storage?

Web Storage API allows web applications to store data locally in the user's browser. It provides two objects: localStorage and sessionStorage.

  • localStorage - Data persists across browser sessions
  • sessionStorage - Data cleared when tab/window closes
  • Simple API - getItem, setItem, removeItem, clear
  • Storage Limits - Typically 5-10MB per origin
💡 Key Differences
localStoragesessionStorage
PersistenceForeverTab session
ScopeAll tabs/windowsSingle tab
Capacity5-10MB5-10MB
When to Use Which?

Use localStorage for user preferences, caching. Use sessionStorage for temporary data, form drafts, sensitive data.

📝 Basic Operations

Basic CRUD operations with localStorage and sessionStorage.

JavaScript Editor
Core Methods:
  • setItem(key, value) - Store data
  • getItem(key) - Retrieve data
  • removeItem(key) - Remove specific item
  • clear() - Remove all items
  • key(index) - Get key name at index
  • length - Number of items stored

🔢 Data Types & JSON

Web Storage only stores strings. Learn how to store complex data types.

JavaScript Editor
What Can Be Stored:
  • Strings (directly)
  • Numbers (as strings)
  • Booleans (as strings)
  • Arrays/Objects (with JSON)
What Cannot Be Stored:
  • Functions (lose functionality)
  • DOM elements
  • Circular references
  • Native objects (Map, Set, Date need conversion)

📊 Storage Limits & Quota

Understanding storage limits and handling quota exceeded errors.

JavaScript Editor
Storage Limits by Browser:
  • Chrome: 10MB per origin
  • Firefox: 10MB per origin
  • Safari: 5MB per origin
  • Edge: 10MB per origin
  • Mobile browsers: Usually 5MB

🛒 Practical Example: Shopping Cart

Complete shopping cart implementation with localStorage and sessionStorage.

JavaScript Editor
💡 Best Practices:
  • Always use try-catch for storage operations
  • Implement proper error handling for quota exceeded
  • Use JSON for complex data
  • Clear old/unused data periodically
  • Don't store sensitive information
  • Consider IndexedDB for larger data needs

Next Steps

Now that you can store data in the browser, learn about JavaScript Modules for better code organization.