javascriptObjectشیء در جاوااسکریپت
شیء در جاوااسکریپت چیست؟ ویژگیها، دسترسی با نقطه و براکت و اشتراک مرجع را با مثال مشخصات دوره و توضیح تفاوت انتساب و کپی سطحی بشناسید.
مفهوم به زبان ساده
شیء چند دادهٔ مرتبط را زیر نام ویژگیهایشان کنار هم قرار میدهد. در نمونهٔ یک دوره، name و lessons معنای روشنتری از دو خانهٔ بینام در آرایه دارند.
با نقطه، ویژگیای با نام ثابت را میخوانید: course.lessons. وقتی نام ویژگی در یک متغیر است، از براکت استفاده میکنید؛ مثلاً course[key].
اگر ویژگی وجود نداشته باشد، خواندن مستقیم آن undefined میدهد. همچنین انتساب یک شیء به متغیری دیگر نسخهٔ مستقلی نمیسازد؛ هر دو نام میتوانند به همان شیء اشاره کنند.
کجا به کار میآید؟
- مدلکردن مشخصات کاربر، محصول یا دوره
- گروهبندی گزینههای تنظیمات و دادهٔ پاسخ API
از تعریف تا یک مثال واقعی
const course = { name: "JavaScript", lessons: 20 };
console.log(course.lessons);
20
این مثال چطور کار میکند؟
course یک شیء با دو ویژگی name و lessons است.
عبارت course.lessons مقدار ویژگی lessons را میخواند.
عدد ۲۰ در کنسول چاپ میشود.
اشتباه رایج
const copy = course کپی مستقل نمیسازد. برای کپی سطحی میتوانید از {...course} استفاده کنید؛ دادههای تو در تو همچنان ممکن است مشترک باشند.
این را به خاطر بسپارید
شیء برای دادههای دارای نام است؛ در کپی و تغییر آن به اشتراک مرجع توجه کنید.