تفاوت بین Map و Object تو جاوااسکریپت چیه؟
Map vs Object in JavaScript
من اخیراً متوجه شدم که تو جاوااسکریپت چیزی به نام Map وجود داره. درحالیکه قبلاً برای نگهداری دادههای کلید-مقدار از Object استفاده میکردم.
تفاوت اصلی بین Map و Object چیه و در چه مواقعی استفاده از Map بهتره؟
تفاوت اصلی بین Map و Object تو جاوااسکریپت اینه که در Map میتونید از هر نوع دادهای به عنوان کلید استفاده کنید، در حالی که در Object تنها میتونید از رشتهها و Symbolها به عنوان کلید استفاده کنید. Map همچنین از ترتیب ورود کلیدها پشتیبانی میکنه و میتونید به راحتی اندازه آن را با متد size
بدست بیارید. اما در Object برای این کار باید کلیدها رو بهصورت دستی شمارش کنید. در کل، اگر نیاز به کلیدهای غیررشتهای دارین یا به حفظ ترتیب کلیدها اهمیت میدید، بهتره از Map استفاده کنید.
let myMap = new Map(); myMap.set('key1', 'value1'); myMap.set({}, 'value2'); myMap.set(function(){}, 'value3'); console.log(myMap.get('key1')); // 'value1' console.log(myMap.size); // 3
این کد نشون میده که چگونه میتوان از انواع مختلف کلیدها تو Map استفاده کرد و به راحتی مقدار متناظر اونو دریافت کرد.