انواع روش های دسترسی به پراپرتی های یک ابجکت در جاوااسکریپت
JavaScript property access: dot notation vs. brackets
من تو سورس کد های مختلف دیدم که برای دسترسی به یک پراپرتی از یک ابجکت از نقطه یا براکت استفاده میشه
کدومش بهتره و چه فرقی دارند؟
تو جاوااسکریپت دو روش اصلی برای دسترسی به خصوصیات (پراپرتیها) یک ابجکت وجود داره: یکی با استفاده از نقطه (.
) و دیگری با براکت ([]
).
هر کدوم مزایای خاص خودشون رو دارن:
نقطهگذاری: این روش سادهتر و خواناتر هست، و معمولاً زمانی استفاده میشه که نام پراپرتی یه مقدار ثابت و شناخته شدهست و شامل حروف، اعداد، آندرلاین (_) یا دلار ($) باشه.
const obj = { name: "John", age: 30 }; console.log(obj.name); // output: John
براکت: این روش بیشتر در مواقعی استفاده میشه که نام پراپرتی شامل کاراکترهای خاص، فضاهای خالی، یا نقاط (.) باشه، یا زمانی که میخوای نام پراپرتی رو از یک متغیر به دست بیاری.
const obj = { "first-name": "John", age: 30 }; console.log(obj["first-name"]); // output: John const prop = "age"; console.log(obj[prop]); // output: 30
هطور خلاصه، اگر نام پراپرتی رو میدونی و از کاراکترهای خاصی استفاده نمیکنه، بهتره از نقطهگذاری استفاده کنی چون سادهتر و خواناتر هست. اما اگه اسم پراپرتی از قبل مشخص نیست یا شامل کاراکترهای خاص میشه، از براکت استفاده کن.