ذخیره سازی محلی localstorage در مرورگر
در سال های گذشته این عمل فقط از طرق کوکی ها (cookies) امکانپذیر بود، فایل های متنی که در کامپیوتر کاربران ذخیره می شد، اما این راه ذخیره و مدیریت اطلاعات برای جاوا اسکریپت خوب نبود. امروزه فناوری جدیدی به نام انباره محلی (local storage) یا ذخیره محلی معرفی شده است که همان کار کوکی را انجام می دهد، اما دارای واسط کاربری و استفاده آسانتری است.
برخلاف کوکی ها، ذخیره محلی فقط از سمت کلاینت قابل خواند است، بدین معنی که تنها مرورگر و جاوا اسکریپت می توانند محتوای ذخیره محلی را بخوانند. اگر بخواهید مقداری داده را با سرور به اشتراک بگذارید، هنوز کوکی ها گزینه بهتری هستند.
خب برای شروع ما کلاسی به نام storage ایجاد میکنیم :
class Storage {
set( name , data ) {
return localStorage.setItem( name , JSON.stringify(data) ) ;
}
get( name ) {
return JSON.parse( localStorage.getItem( name ) ) ;
}
has( name ) {
return this.get( name ) != undefined ;
}
flash( name ) {
return localStorage.removeItem( name ) ;
}
}
ما یه کلاسی به نام storage ساختیم این کلاس کارش ذخیره (set) , دریافت (get) , حذف (flash) و اعتبار سنجی موجودیت storage در مرورگر .
let storage = new Storage() ;
storage = storage.set("user" , { fullname : "amin" , family : "ghaninia" }) ;
در کد بالا بعد از instance کردن از کلاس ما به عنوان پارارمتر اول نام storage و در پارامتر دوم ابجکتی از اطلاعات رو ذخیره میکنیم اگر در صفحه جاری به قسمت inspect مرورگر خودتون برید این اطلاعات رو دریافت میکنید :
از بقیه متد این کلاس هم میتوانیم مثل بالا استفاده کنیم :
let storage = new Storage() ;
storage = storage.set("user" , { fullname : "amin" , family : "ghaninia" }) ;
console.log( storage.get("user") )
console.log( storage.has("user") )
console.log( storage.flash("user") )