Main browser storage options:
// localStorage — forever
localStorage.setItem('key', 'value');
// sessionStorage — until tab closes
sessionStorage.setItem('key', 'value');
// Cookies — with auto-send
document.cookie = 'key=value';
// IndexedDB — full DB
const db = indexedDB.open('myDB');Browser storage options — like different types of boxes for storing things. Each has its expiration date and purpose! 📦
Stores data forever, until you delete it:
// Save forever
localStorage.setItem('theme', 'dark');
// Even after computer restart data remains
console.log(localStorage.getItem('theme')); // 'dark'
// Volume: 5-10 MBStores data only during session:
// Save until tab closes
sessionStorage.setItem('formStep', '2');
// After tab closes everything disappears
console.log(sessionStorage.getItem('formStep')); // '2' (while tab open)
// Volume: 5-10 MBSmall data that automatically flies to server:
// Sent with every request to server!
document.cookie = 'userId=123; path=/; expires=Fri, 31 Dec 2024 23:59:59 GMT';
// Very small volume: 4 KB
// Many cookies = slow requests!Full database in browser:
// Can store lots of data (up to GB!)
// Works asynchronously
// More complex to use
const request = indexedDB.open('myDatabase', 1);
// For complex data structures| Storage | Volume | Lifetime | Auto-send | Complexity |
|---|---|---|---|---|
| localStorage | 5-10 MB | Forever | No | Simple |
| sessionStorage | 5-10 MB | Until tab closes | No | Simple |
| Cookies | 4 KB | By expiration date | Yes | Medium |
| IndexedDB | Up to GB | Forever | No | Complex |
// ✅ Permanent settings
localStorage.setItem('language', 'en');
localStorage.setItem('theme', 'dark');// ✅ Temporary form data
sessionStorage.setItem('draft', 'draft text');// ✅ Auth tokens (careful!)
document.cookie = 'token=abc123';// ✅ Large data volumes
// Offline apps, games, editors// ❌ Bad — cookies sent with every request
document.cookie = 'bigData=very_large_data'; // Slows site!
// ✅ Better — use localStorage
localStorage.setItem('bigData', 'very_large_data');// ❌ Mistake — think sessionStorage is also forever
sessionStorage.setItem('important', 'data'); // Disappears!
// ✅ Correct — use localStorage for important things
localStorage.setItem('important', 'data');Understanding different browser storage options helps choose the right tool for each task! 💪
Want more articles to prepare for interviews? Subscribe to EasyAdvice, bookmark the site and improve yourself every day 💪