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
| localStorage | sessionStorage | |
|---|---|---|
| Persistence | Forever | Tab session |
| Scope | All tabs/windows | Single tab |
| Capacity | 5-10MB | 5-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.
Core Methods:
setItem(key, value)- Store datagetItem(key)- Retrieve dataremoveItem(key)- Remove specific itemclear()- Remove all itemskey(index)- Get key name at indexlength- Number of items stored
🔢 Data Types & JSON
Web Storage only stores strings. Learn how to store complex data types.
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.
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.
💡 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.