پرسش

انواع روش های دسترسی به پراپرتی های یک ابجکت در جاوااسکریپت

JavaScript property access: dot notation vs. brackets

من تو سورس کد های مختلف دیدم که برای دسترسی به یک پراپرتی از یک ابجکت از نقطه یا براکت استفاده میشه
کدومش بهتره و چه فرقی دارند؟

1403/05/23
پاسخ
محمدامین سعیدی راد
بیوگرافی محمدامین سعیدی راد

تو جاوااسکریپت دو روش اصلی برای دسترسی به خصوصیات (پراپرتی‌ها) یک ابجکت وجود داره: یکی با استفاده از نقطه‌ (.) و دیگری با براکت ([]).

هر کدوم مزایای خاص خودشون رو دارن:

نقطه‌گذاری: این روش ساده‌تر و خواناتر هست، و معمولاً زمانی استفاده می‌شه که نام پراپرتی یه مقدار ثابت و شناخته شده‌ست و شامل حروف، اعداد، آندرلاین (_) یا دلار ($) باشه.

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

ه‌طور خلاصه، اگر نام پراپرتی رو می‌دونی و از کاراکترهای خاصی استفاده نمی‌کنه، بهتره از نقطه‌گذاری استفاده کنی چون ساده‌تر و خواناتر هست. اما اگه اسم پراپرتی از قبل مشخص نیست یا شامل کاراکترهای خاص می‌شه، از براکت استفاده کن.

پاسخ: 1403/05/23
آخرین آپدیت: 1403/07/07