آشنایی با اشیاء در جاوا اسکریپت

javascript objects introduction
20 آبان 1403

اشیاء در جاوا اسکریپت یکی از مهم‌ترین و پرکاربردترین ساختار داده‌ها به حساب می‌آیند. به زبان ساده، یک شیء مجموعه‌ای از خصوصیات (property) است که این خصوصیات شامل نام و مقدار می‌باشند. به عنوان مثال، اگر بخواهیم اطلاعات مربوط به یک کتاب را ذخیره کنیم، می‌توانیم از یک شیء استفاده کنیم که دارای خصوصیات مانند عنوان، نویسنده و سال انتشار باشد.

استفاده از اشیاء به شما امکان می‌دهد داده‌ها و توابع مرتبط را به صورت منظم و مجتمع مدیریت کنید. در جاوا اسکریپت، اشیاء می‌توانند توابع نیز داشته باشند که این توابع به عنوان متد (method) شناخته می‌شوند. به این ترتیب، با استفاده از اشیاء می‌توانید برنامه‌هایی با طراحی زیباتر و ساختارمندتر ایجاد کنید.

ایجاد یک شیء در جاوا اسکریپت می‌تواند به چند روش صورت گیرد. یکی از رایج‌ترین و ساده‌ترین روش‌ها استفاده از نشانه‌گذاری شیء (object literal notation) است که این روش بسیار خوانا و ساده‌فهم است. علاوه بر این، شما می‌توانید از سازنده‌های توکار جاوا اسکریپت مانند Object() نیز استفاده کنید.

اشیاء در جاوا اسکریپت دینامیک هستند، به این معنی که شما می‌توانید در هر زمان، خصوصیات جدیدی به یک شیء اضافه کنید یا آنها را حذف نمایید. این ویژگی بسیار مفید است و به شما اجازه می‌دهد تا برنامه‌های خود را با انعطاف‌پذیری بیشتری طراحی و پیاده‌سازی کنید.

مثال کد:

var book = {
title: "JavaScript Basics",
author: "John Doe",
year: 2021
};

console.log(book.title); // JavaScript Basics
book.publisher = "Tech Press";
console.log(book);

توضیحات کد:

var book = { ... } → این کد یک شیء به نام book را با استفاده از نشانه‌گذاری شیء (object literal) تعریف می‌کند.
title: "JavaScript Basics", → خصوصیت title را به شیء book اضافه می‌کند و مقدار آن را JavaScript Basics قرار می‌دهد.
author: "John Doe", → خصوصیت author را با مقدار John Doe به شیء book اضافه می‌کند.
year: 2021 → خصوصیت year را به شیء book با مقدار 2021 اضافه می‌کند.
console.log(book.title); → مقدار خصوصیت title از شیء book را در کنسول چاپ می‌کند.
book.publisher = "Tech Press"; → خصوصیت جدیدی به نام publisher به شیء book اضافه می‌کند و مقدار آن را Tech Press قرار می‌دهد.
console.log(book); → همه خصوصیات شیء book را در کنسول چاپ می‌کند.

سوالات متداول

؟

چگونه می‌توانم یک شیء ساده در جاوا اسکریپت بسازم؟

؟

آیا می‌توان خصوصیات جدیدی به یک شیء اضافه کرد؟

؟

چرا اشیاء در جاوا اسکریپت مهم هستند؟