كيفية حفظ وقراءة كائنات JavaScript في localStorage / sessionStorage
مرحباً بالجميع. أنا مبتدئ في JavaScript وأحاول حفظ كائن في localStorage لتبقى البيانات بعد إعادة تحميل الصفحة. أكتب تطبيقاً صغيراً — قائمة مهام (todo list). كل مهمة هي كائن يحتوي على حقول: `{ id: 1, text: "شراء حليب", done: false }`.
أحاول حفظ مصفوفة من هذه الكائنات بهذا الشكل:
```javascript
const tasks = [
{ id: 1, text: "شراء حليب", done: false },
{ id: 2, text: "الاتصال بالطبيب", done: true }
];
localStorage.setItem('myTasks', tasks);
```
ثم أحاول القراءة:
```javascript
const saved = localStorage.getItem('myTasks');
console.log(saved);
```
في console أرى `[object Object],[object Object]`. هذه ليست مصفوفة، بل سلسلة نصية غريبة. إذا قمت بإظهار `typeof saved`، أحصل على `string`. لا أستطيع الوصول إلى خصائص الكائنات، مثلاً `saved[0].text` يعطيني `undefined`.
قرأت أن localStorage يخزن فقط السلاسل النصية. ولكن كيف يمكن حفظ الكائنات بشكل صحيح؟ هل يجب تحويلها إلى سلسلة نصية، ثم