Logo

dev-resources.site

for different kinds of informations.

Web Storage API Explained with Examples

Published at
9/20/2024
Categories
javascript
javascriptwebstorageapi
rsmacademybd
gmmamunh
Author
rsmacademybd
Author
12 person written this
rsmacademybd
open
Web Storage API Explained with Examples

Web Storage API: āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž

Web Storage API āĻšāĻ˛ā§‹ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€ API āĻ¯āĻž āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§‹āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ client-side storage-āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ key-value pair āĻ†āĻ•āĻžāĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡āĨ¤ Web Storage API-āĻāĻ° āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ­āĻžāĻ— āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

  1. localStorage: āĻĄā§‡āĻŸāĻž āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡āĻ“ āĻĨāĻžāĻ•ā§‡āĨ¤
  2. sessionStorage: āĻĄā§‡āĻŸāĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§‡āĻļāĻ¨ (āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻŸā§āĻ¯āĻžāĻŦ āĻŦāĻž āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹) āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĨāĻžāĻ•ā§‡, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ¸ā§‡āĻļāĻ¨ āĻļā§‡āĻˇ āĻšāĻ˛ā§‡ (āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻŦāĻž āĻŸā§āĻ¯āĻžāĻŦ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ˛ā§‡) āĻĄā§‡āĻŸāĻž āĻŽā§āĻ›ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤

Web Storage API āĻ•ā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨?

  • Client-side āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ: āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ•ā§‡ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĄā§‡āĻŸāĻž āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻ›āĻžāĻĄāĻŧāĻž client-side-āĻ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤
  • Session āĻāĻŦāĻ‚ Local Storage: Web Storage API session-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻŦāĻž āĻĻā§€āĻ°ā§āĻ˜āĻŽā§‡āĻ¯āĻŧāĻžāĻĻā§€ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻ†āĻ˛āĻžāĻĻāĻž āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°ā§‡āĨ¤
  • āĻ•ā§āĻ•āĻŋāĻœā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤: āĻ•ā§āĻ•āĻŋāĻœā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ Web Storage API āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻāĻŦāĻ‚ āĻĻā§āĻ°ā§āĻ¤āĨ¤ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡ āĻĄā§‡āĻŸāĻž āĻĒāĻžāĻ āĻžāĻ¯āĻŧ āĻ¨āĻž āĻāĻŦāĻ‚ āĻ•ā§āĻ•āĻŋāĻœā§‡āĻ° āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻŦā§‡āĻļāĻŋ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
  • āĻ¸āĻšāĻœ API: āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ–ā§āĻŦāĻ‡ āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ key-value pair āĻ†āĻ•āĻžāĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœ āĻ•āĻ°ā§‡āĨ¤

Web Storage API-āĻāĻ° āĻĻā§āĻ‡āĻŸāĻŋ āĻ­āĻžāĻ—:

1. localStorage

localStorage āĻšāĻ˛ā§‹ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡āĻ° āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§‹āĻ° āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ, āĻ¯āĻž āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ˛ā§‡āĻ“ āĻĨā§‡āĻ•ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻ–āĻ¨, āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨āĨ¤

localStorage-āĻāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯:
  • Persistent Storage: āĻĄā§‡āĻŸāĻž āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡āĻ“ āĻĨāĻžāĻ•ā§‡āĨ¤
  • āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ¸āĻžāĻ‡āĻœ: āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĒā§āĻ°āĻ¤āĻŋ origin-āĻ ā§Ģ āĻĨā§‡āĻ•ā§‡ ā§§ā§Ļ MB āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤
  • Key-value pair āĻ†āĻ•āĻžāĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
localStorage āĻŽā§‡āĻĨāĻĄ:
  • localStorage.setItem(key, value): āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ key-value pair āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĨ¤
  • localStorage.getItem(key): āĻāĻ•āĻŸāĻŋ key-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ value āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧāĨ¤
  • localStorage.removeItem(key): āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ key-āĻāĻ° āĻĄā§‡āĻŸāĻž āĻŽā§āĻ›ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤
  • localStorage.clear(): localStorage-āĻ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻŽā§āĻ›ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:
// āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ
localStorage.setItem('username', 'JohnDoe');

// āĻĄā§‡āĻŸāĻž āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸
const user = localStorage.getItem('username');
console.log(user); // Output: JohnDoe

// āĻĄā§‡āĻŸāĻž āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž
localStorage.removeItem('username');

// āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž
localStorage.clear();
Enter fullscreen mode Exit fullscreen mode

2. sessionStorage

sessionStorage āĻšāĻ˛ āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ key-value pair āĻ†āĻ•āĻžāĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ session-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ•āĨ¤ āĻ¯āĻ–āĻ¨ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡āĻ° āĻŸā§āĻ¯āĻžāĻŦ āĻŦāĻž āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧ, sessionStorage-āĻāĻ° āĻĄā§‡āĻŸāĻž āĻŽā§āĻ›ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤

sessionStorage-āĻāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯:
  • Session-based Storage: āĻĄā§‡āĻŸāĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° session āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻŸā§āĻ¯āĻžāĻŦ āĻŦāĻž āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ˛ā§‡ āĻĄā§‡āĻŸāĻž āĻŽā§āĻ›ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤
  • āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ¸āĻžāĻ‡āĻœ: āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĒā§āĻ°āĻ¤āĻŋ origin-āĻ ā§Ģ āĻĨā§‡āĻ•ā§‡ ā§§ā§Ļ MB āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤
  • Key-value pair āĻ†āĻ•āĻžāĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
sessionStorage āĻŽā§‡āĻĨāĻĄ:
  • sessionStorage.setItem(key, value): āĻāĻ•āĻŸāĻŋ key-value pair session-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĨ¤
  • sessionStorage.getItem(key): āĻāĻ•āĻŸāĻŋ key-āĻāĻ° āĻœāĻ¨ā§āĻ¯ session-āĻ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ value āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧāĨ¤
  • sessionStorage.removeItem(key): āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ key-āĻāĻ° āĻĄā§‡āĻŸāĻž āĻŽā§āĻ›ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤
  • sessionStorage.clear(): sessionStorage-āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻŽā§āĻ›ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:
// āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ
sessionStorage.setItem('sessionKey', 'SessionValue');

// āĻĄā§‡āĻŸāĻž āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸
const sessionData = sessionStorage.getItem('sessionKey');
console.log(sessionData); // Output: SessionValue

// āĻĄā§‡āĻŸāĻž āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž
sessionStorage.removeItem('sessionKey');

// āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž
sessionStorage.clear();
Enter fullscreen mode Exit fullscreen mode

localStorage āĻāĻŦāĻ‚ sessionStorage-āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯

āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ localStorage sessionStorage
āĻĄā§‡āĻŸāĻžāĻ° āĻ¸ā§āĻĨāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻĄā§‡āĻŸāĻž āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡āĻ“ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻĄā§‡āĻŸāĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° session āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻŸā§āĻ¯āĻžāĻŦ/āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹ āĻŦāĻ¨ā§āĻ§ āĻšāĻ˛ā§‡ āĻŽā§āĻ›ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ¸āĻžāĻ‡āĻœ ā§Ģ āĻĨā§‡āĻ•ā§‡ ā§§ā§Ļ MB, āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻāĻŦāĻ‚ origin-āĻāĻ° āĻ‰āĻĒāĻ°āĨ¤ ā§Ģ āĻĨā§‡āĻ•ā§‡ ā§§ā§Ļ MB, āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻāĻŦāĻ‚ origin-āĻāĻ° āĻ‰āĻĒāĻ°āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ session-specific āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¨āĻŋāĻœā§‡ āĻŦāĻž āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ clear āĻ¨āĻž āĻ•āĻ°āĻ˛ā§‡ āĻĄā§‡āĻŸāĻž āĻĨāĻžāĻ•ā§‡āĨ¤ āĻŸā§āĻ¯āĻžāĻŦ āĻŦāĻž āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻŽā§āĻ›ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤

Web Storage API āĻāĻ° āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž

  1. āĻ¸āĻžāĻ‡āĻœ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž: āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ ā§Ģ āĻĨā§‡āĻ•ā§‡ ā§§ā§Ļ MB āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¯āĻž āĻŦāĻĄāĻŧ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻ¨āĻ¯āĻŧāĨ¤
  2. Security Risks: sensitive āĻĄā§‡āĻŸāĻž (āĻ¯ā§‡āĻŽāĻ¨, āĻĒāĻžāĻ¸āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻŦāĻž āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ¤āĻĨā§āĻ¯) āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻ•āĻžāĻ°āĻŖ, āĻāĻŸāĻŋ āĻ¸āĻšāĻœā§‡āĻ‡ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ•ā§‹āĻĄā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤
  3. Single-origin Restriction: Web Storage API āĻ•ā§‡āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻ‡ origin-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ­āĻŋāĻ¨ā§āĻ¨ origin āĻŦāĻž domain-āĻ āĻĄā§‡āĻŸāĻž āĻļā§‡āĻ¯āĻŧāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤

Web Storage API vs Cookies

āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ Web Storage API Cookies
āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ¸āĻžāĻ‡āĻœ ā§Ģ āĻĨā§‡āĻ•ā§‡ ā§§ā§Ļ MB āĻĒā§āĻ°āĻ¤āĻŋ āĻ•ā§āĻ•āĻŋ ā§Ē KB āĻāĻ° āĻŦā§‡āĻļāĻŋ āĻ¨āĻ¯āĻŧāĨ¤
āĻĒā§āĻ°āĻ¤āĻŋ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸā§‡ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡ āĻĄā§‡āĻŸāĻž āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§āĻ•āĻŋ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧāĨ¤
API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸āĻšāĻœ API āĻŽā§‡āĻĨāĻĄ āĻ¯ā§‡āĻŽāĻ¨, setItem, getItemāĨ¤ āĻ•ā§āĻ•āĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ‚ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻœāĻŸāĻŋāĻ˛āĨ¤
āĻĄā§‡āĻŸāĻžāĻ° āĻ¸ā§āĻĨāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ localStorage āĻĄā§‡āĻŸāĻž āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡āĻ“ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ•ā§āĻ•āĻŋāĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§€āĻŽāĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻšāĻ¯āĻŧāĨ¤

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ: āĻĄāĻžāĻ°ā§āĻ• āĻŽā§‹āĻĄ āĻ¸ā§‡āĻ­ āĻ•āĻ°āĻž

<!DOCTYPE html>
<html>
<head>
  <title>Dark Mode Example</title>
</head>
<body>
  <h1>Toggle Dark Mode</h1>
  <button id="toggleBtn">Toggle Dark Mode</button>

  <script>
    // āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĄāĻžāĻ°ā§āĻ• āĻŽā§‹āĻĄ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž
    const isDarkMode = localStorage.getItem('darkMode') === 'enabled';

    if (isDarkMode) {
      document.body.classList.add('dark');
    }

    document.getElementById('toggleBtn').addEventListener('click', function() {
      if (document.body.classList.contains('dark')) {
        document.body.classList.remove('dark');
        localStorage.setItem('darkMode', 'disabled');
      } else {
        document.body.classList.add('dark');
        localStorage.setItem('darkMode', 'enabled');
      }
    });
  </script>

  <style>
    body.dark {
      background-color: black;
      color: white;
    }
  </style>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¯āĻĻāĻŋ āĻĄāĻžāĻ°ā§āĻ• āĻŽā§‹āĻĄ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡, āĻ¤āĻ–āĻ¨ localStorage-āĻ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡ āĻĄāĻžāĻ°ā§āĻ• āĻŽā§‹āĻĄ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ†āĻ›ā§‡āĨ¤ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡āĻ“ āĻĄāĻžāĻ°ā§āĻ• āĻŽā§‹āĻĄ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¯āĻ¤āĻ•ā§āĻˇāĻŖ āĻ¨āĻž āĻāĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°

Web Storage API āĻšāĻ˛ āĻāĻ•āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ-āĻ¸āĻžāĻ‡āĻĄ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ¯āĻž āĻĄā§‡āĻŸāĻž āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻŋ session āĻŦāĻž long-term āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ localStorage āĻāĻŦāĻ‚ sessionStorage āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡, āĻŦāĻŋāĻļā§‡āĻˇāĻ¤ āĻāĻŽāĻ¨ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ server-side āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ›āĻžāĻĄāĻŧāĻž āĻĄā§‡āĻŸāĻž āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°āĨ¤

rsmacademybd Article's
15 articles in total
Favicon
Redux Middleware āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž
Favicon
Describing the React UI
Favicon
JavaScript āĻāĻŦāĻ‚ React āĻ Debounce āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž
Favicon
Using Local Storage API With JavaScript And React JS
Favicon
Web Storage API Explained with Examples
Favicon
Web History API Explained with Examples
Favicon
Event Propagation - Bubbling vs Capturing Explained with Examples
Favicon
React Props Explained with Examples
Favicon
JavaScript Event Delegation āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž
Favicon
Recursion in JavaScript āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž
Favicon
Currying in JavaScript āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž
Favicon
Higher-Order Functions (HOFs) āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž
Favicon
JavaScript Execution Context āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž
Favicon
JavaScript Closures āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž
Favicon
Install React Router Dom With Tailwind CSS

Featured ones: