اشیا در جاوا اسکریپت
در این بخش به بررسی اشیا در جاوا اسکریپت می پردازیم، در دنیای برنامهنویسی، یکی از مفاهیم کلیدی و پرکاربردی که در اکثر زبانهای برنامهنویسی وجود دارد، مفهوم شیء (Object) است. در زبان جاوا اسکریپت، اشیاء نقش مهمی در ساختار دادهها و همچنین تعامل با مفاهیم دیگر دارند. جاوا اسکریپت، زبانی شیءگرا است که به برنامهنویسان اجازه میدهد با استفاده از اشیاء، دادهها و ویژگیهای مختلف آنها را مدیریت کنند و برنامههای قدرتمند و پیچیدهای را توسعه دهند.
در این مقاله، قصد داریم تا به طور جامع و دقیق به موضوع اشیاء در جاوا اسکریپت بپردازیم. از معرفی اولیه مفهوم اشیاء و ساختار آنها، تا کاربردهای پیشرفتهتر مانند توابع سازنده (Constructor)، شیءگرایی و همچنین روشهای متداول مدیریت اشیاء. همچنین مثالهایی را ارائه خواهیم داد که این مفاهیم را به شیوهای کاربردی و قابل فهم توضیح میدهند تا بتوانید این دانش را به سرعت در پروژههای خود به کار گیرید.
تعریف و ایجاد اشیاء در جاوا اسکریپت
در جاوا اسکریپت، اشیاء مجموعهای از کلیدها و مقادیر هستند که به صورت جفتی ذخیره میشوند. هر کلید (یا property) به یک مقدار خاص اشاره میکند که میتواند از هر نوع دادهای باشد؛ از رشتهها و اعداد گرفته تا توابع و آرایهها.
برای ایجاد یک شیء در جاوا اسکریپت میتوان از دو روش اصلی استفاده کرد: object literal و Object constructor.
۱. روش object literal
سادهترین روش برای ایجاد یک شیء، استفاده از object literal است. در این روش، یک جفت کلید-مقدار در داخل آکولادها قرار میگیرد. مثال زیر نحوهی ساخت یک شیء با استفاده از این روش را نشان میدهد:
در اینجا، شیء person شامل سه ویژگی (property) است: name، age و job. هر ویژگی دارای یک مقدار است که به کلید مربوطه اختصاص داده شده است.
۲. روش Object constructor
روش دوم برای ایجاد اشیاء در جاوا اسکریپت استفاده از Object constructor است. در این روش، ابتدا شیء جدیدی با استفاده از کلمه کلیدی new Object() ایجاد میشود و سپس ویژگیها به آن اضافه میشوند:
const car = new Object();
car.brand = "Toyota";
car.model = "Corolla";
car.year = 2020;در این مثال، ابتدا یک شیء car ساخته شد و سپس به تدریج ویژگیهایی به آن افزوده شد.
دسترسی و تغییر ویژگیهای اشیاء
بعد از اینکه شیء ایجاد شد، میتوان به ویژگیهای آن دسترسی پیدا کرد یا مقادیر آنها را تغییر داد. دو روش برای دسترسی به ویژگیهای یک شیء وجود دارد: دسترسی نقطهای (dot notation) و دسترسی براکت (bracket notation).
دسترسی نقطهای (Dot Notation)
روش دسترسی نقطهای سادهترین و رایجترین روش برای دسترسی به ویژگیهای یک شیء است. در این روش، از نقطه (.) برای مشخص کردن ویژگیهای یک شیء استفاده میشود:
console.log(person.name); // خروجی: Aliدسترسی براکت (Bracket Notation)
روش دیگر برای دسترسی به ویژگیهای یک شیء استفاده از براکتها است. این روش به خصوص در شرایطی که نام ویژگی یک رشته یا متغیر باشد بسیار مفید است:
console.log(person["job"]); // خروجی: Developerتفاوت مهم این دو روش در این است که در دسترسی براکتی، میتوان از متغیرها برای نام ویژگی استفاده کرد، در حالی که در دسترسی نقطهای این امکان وجود ندارد.
تغییر ویژگیهای یک شیء
با استفاده از هر دو روش بالا، میتوان مقادیر ویژگیهای اشیاء را تغییر داد:
person.age = 35; // تغییر مقدار ویژگی age به 35
person["name"] = "Reza"; // تغییر مقدار ویژگی name به Rezaاضافه و حذف کردن ویژگیهای اشیاء
یکی از ویژگیهای مهم اشیاء در جاوا اسکریپت، قابلیت اضافه کردن و حذف کردن ویژگیهای جدید در هر زمان است. برای اضافه کردن یک ویژگی جدید به یک شیء، کافی است یک کلید و مقدار جدید را به آن اختصاص دهید:
person.gender = "male";
console.log(person.gender); // خروجی: maleبرای حذف یک ویژگی نیز از کلمه کلیدی delete استفاده میشود:
delete person.job;
console.log(person.job); // خروجی: undefinedبا استفاده از دستور delete، ویژگی job از شیء person حذف شده و دیگر به آن دسترسی نخواهیم داشت.
توابع به عنوان ویژگیهای اشیاء
در جاوا اسکریپت، توابع نیز میتوانند به عنوان ویژگیهای یک شیء ذخیره شوند. به این ویژگیها متد (Method) گفته میشود. با استفاده از متدها میتوان عملکردهای مختلفی را برای اشیاء تعریف کرد.
مثال زیر نحوهی افزودن یک تابع به یک شیء را نشان میدهد:
در اینجا، متد sayHello درون شیء person تعریف شده است. با فراخوانی این متد، پیامی که شامل نام شخص است در کنسول چاپ میشود. از کلمه کلیدی this نیز برای دسترسی به ویژگیهای دیگر همان شیء استفاده میشود.
توابع سازنده (Constructor Functions) و نمونهسازی اشیاء
در جاوا اسکریپت، میتوان از توابع سازنده (constructor functions) برای ایجاد اشیاء جدید استفاده کرد. توابع سازنده شبیه به کلاسها در دیگر زبانهای برنامهنویسی عمل میکنند و به ما اجازه میدهند اشیاء متعددی با یک ساختار مشابه بسازیم.
مثال زیر نحوه تعریف و استفاده از یک تابع سازنده را نشان میدهد:
در این مثال، تابع Person یک تابع سازنده است که اشیاء جدیدی مانند person1 و person2 را ایجاد میکند. هر شیء شامل ویژگیهای name، age و job است و همچنین یک متد sayHello دارد.
در این مقاله، با مفهوم اشیاء در جاوا اسکریپت آشنا شدیم و روشهای مختلف ایجاد و مدیریت آنها را بررسی کردیم. اشیاء بخش اساسی برنامهنویسی در جاوا اسکریپت هستند و با درک صحیح آنها میتوان برنامههای پیچیده و مقیاسپذیری نوشت. همچنین با استفاده از توابع سازنده میتوان اشیاء متعددی با یک ساختار مشخص ایجاد کرد. این تواناییها به برنامهنویسان کمک میکند که کدهای کارآمدتر و سازمانیافتهتری بنویسند.
آیا این مطلب برای شما مفید بود ؟




