Web Storage API

Web Storage API یکی از امکانات مرورگر است که برای ذخیره‌سازی داده‌ها در سمت کاربر استفاده می‌شود.
برخلاف کوکی‌ها:

  • داده‌ها به سرور ارسال نمی‌شوند.

  • حجم بیشتری (معمولاً ۵ تا ۱۰ مگابایت) قابل ذخیره است.

  • استفاده آسان‌تر و سریع‌تری دارد.

🔹 1. انواع Web Storage

🟢 LocalStorage

  • داده‌ها بدون محدودیت زمانی ذخیره می‌شوند.

  • حتی بعد از بستن مرورگر باقی می‌مانند.

🟢 SessionStorage

  • داده‌ها فقط در طول جلسه مرورگر (session) ذخیره می‌شوند.

  • با بستن تب یا مرورگر، حذف می‌شوند.

🔹 2. متدهای اصلی Web Storage

هر دو (localStorage و sessionStorage) از متدهای زیر پشتیبانی می‌کنند:

  • setItem(key, value) → ذخیره داده

  • getItem(key) → دریافت داده

  • removeItem(key) → حذف داده

  • ()clear → پاک کردن همه داده‌ها

  • length → تعداد کل آیتم‌ها

🔹 3. مثال: LocalStorage

// ذخیره داده localStorage.setItem("username", "Ali"); // دریافت داده console.log(localStorage.getItem("username")); // Ali // حذف یک آیتم localStorage.removeItem("username"); // پاک کردن همه داده‌ها localStorage.clear();

🔹 4. مثال: SessionStorage

// ذخیره داده sessionStorage.setItem("theme", "dark"); // دریافت داده console.log(sessionStorage.getItem("theme")); // dark // بستن تب یا مرورگر = حذف خودکار داده

🔹 5. ذخیره‌سازی اشیاء (JSON)

📌 Web Storage فقط رشته (string) ذخیره می‌کند.
برای ذخیره آبجکت‌ها باید از JSON.stringify و JSON.parse استفاده کنیم.

let user = { name: "Reza", age: 25 }; // ذخیره localStorage.setItem("user", JSON.stringify(user)); // دریافت let data = JSON.parse(localStorage.getItem("user")); console.log(data.name); // Reza

✅ خلاصه

  • LocalStorage → داده‌ها دائمی هستند

  • SessionStorage → داده‌ها فقط در جلسه جاری معتبرند

  • متدهای اصلی: setItem, getItem, removeItem, clear

  • فقط رشته‌ها ذخیره می‌شوند → برای آبجکت‌ها از JSON.stringify / JSON.parse استفاده می‌کنیم