من سلسلة تغريدات قديمة

تخزين الويب: localStorage و sessionStorage

هذه المقالة مبنية على سلسلة تغريدات كتبتها قبل فترة عن Web Storage. الفكرة كانت بسيطة: وش الفرق بين localStorage و sessionStorage؟ ومتى أستخدم كل واحد في JavaScript؟

وش يسوون؟

الاثنين يخزنون بيانات داخل المتصفح على شكل مفتاح وقيمة. يعني تقدر تحفظ قيمة باسم معين، وترجع تقرأها بعدين من نفس الموقع. الفرق المهم بينهم مو في طريقة الاستخدام، الفرق في مدة بقاء البيانات ونطاقها.

localStorage

localStorage مناسب إذا أبغى أخلي البيانات تبقى بعد تحديث الصفحة أو حتى بعد إغلاق المتصفح وفتحه مرة ثانية. مثال بسيط: اختيار الثيم، لغة الموقع، أو إعداد خفيف ما يحتاج قاعدة بيانات.

مثال استخدام localStorage في JavaScript
صورة من السلسلة القديمة: مثال سريع على حفظ وقراءة البيانات باستخدام localStorage.

sessionStorage

sessionStorage قريب جدًا في طريقة الاستخدام، لكن البيانات تعيش داخل الجلسة الحالية فقط. إذا قفل المستخدم التبويب، تنحذف البيانات. هذا مفيد للأشياء المؤقتة: خطوة داخل نموذج، حالة شاشة، أو بيانات ما أبغاها تبقى بعد انتهاء الجلسة.

مثال استخدام sessionStorage في JavaScript
صورة من السلسلة القديمة: نفس الفكرة تقريبًا، لكن التخزين هنا مؤقت للجلسة.

الطريقة الأساسية

الـ API بسيط جدًا. تحفظ بـ setItem، تقرأ بـ getItem، وتحذف بـ removeItem.

localStorage.setItem("theme", "dark");
const theme = localStorage.getItem("theme");
localStorage.removeItem("theme");

sessionStorage.setItem("step", "checkout");
const step = sessionStorage.getItem("step");

أشياء أنتبه لها

الخلاصة: الاثنين أدوات صغيرة لكنها مفيدة جدًا في الواجهات. الفرق بينهم بسيط، لكن اختياره صح يخلي تجربة المستخدم أنظف ويخفف شغل متكرر على التطبيق.

الرجوع للمدونة مصدر السلسلة