آموزش رایگان جاوا اسکریپت (JavaScript)

آموزش مفاهیم پایه‌ای اشیاء در جاوا اسکریپت: تعریف، ویژگی‌ها و متدها

1403/06/02 20:49 محراب حسن زاده
آموزش مفاهیم پایه‌ای اشیاء در جاوا اسکریپت: تعریف، ویژگی‌ها و متدها

اشیاء (Objects) یکی از مفاهیم اساسی در جاوا اسکریپت هستند که به شما اجازه می‌دهند داده‌های پیچیده‌تری را نسبت به انواع داده‌های ساده مانند اعداد و رشته‌ها ذخیره و مدیریت کنید. اشیاء به عنوان یک ساختار داده‌ای کلیدی در جاوا اسکریپت، پایه و اساس برنامه‌نویسی شیءگرا (Object-Oriented Programming) را فراهم می‌کنند. در این مقاله، به بررسی مفاهیم پایه‌ای اشیاء، نحوه‌ی ایجاد و استفاده از آن‌ها، و برخی از روش‌های مهم مربوط به اشیاء در جاوا اسکریپت خواهیم پرداخت.

 

تعریف اشیاء (Objects) در جاوا اسکریپت

اشیاء مجموعه‌ای از خصوصیات (Properties) و متدها (Methods) هستند. خصوصیات اشیاء می‌توانند مقادیر مختلفی را نگه‌داری کنند و متدها توابعی هستند که به عنوان مقادیر خصوصیات عمل می‌کنند. به طور کلی، اشیاء به شما این امکان را می‌دهند که چندین مقدار مرتبط را تحت یک نام مشترک گروه‌بندی کنید.

مثال ساده از تعریف یک شیء


const person = {
  name: 'Ali',
  age: 25,
  greet: function() {
    console.log('Hello, my name is ' + this.name);
  }
};

 

در این مثال، شیء person دارای دو خصوصیت (name و age) و یک متد (greet) است.

 

نحوه‌ی دسترسی به خصوصیات و متدهای اشیاء

برای دسترسی به خصوصیات و متدهای یک شیء، می‌توان از دو روش نقطه‌ای (Dot Notation) و براکت (Bracket Notation) استفاده کرد.

 

دسترسی با استفاده از نقطه

استفاده از نقطه برای دسترسی به خصوصیات یا متدهای یک شیء، روش رایج‌تری است.


console.log(person.name); // Output: Ali
console.log(person.age); // Output: 25
person.greet(); // Output: Hello, my name is Ali

 

دسترسی با استفاده از براکت

روش براکت به شما اجازه می‌دهد که از نام‌های خصوصیت‌هایی استفاده کنید که در قالب یک رشته هستند، یا از نام‌های غیرمجاز برای شناسه‌ها در جاوا اسکریپت استفاده کنید.


console.log(person['name']); // Output: Ali
console.log(person['age']); // Output: 25

const propName = 'name';
console.log(person[propName]); // Output: Ali

 

این روش برای مواقعی که نام خصوصیت‌ها به صورت داینامیک در طول اجرای برنامه تعیین می‌شوند، بسیار مفید است.

 

اضافه و حذف کردن خصوصیات اشیاء

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

 

اضافه کردن خصوصیت جدید


person.job = 'Developer';
console.log(person.job); // Output: Developer

 

حذف کردن خصوصیت

برای حذف یک خصوصیت، می‌توانید از عملگر delete استفاده کنید:


delete person.age;
console.log(person.age); // Output: undefined

 

پیمایش خصوصیات اشیاء

برای پیمایش خصوصیات یک شیء، می‌توان از حلقه‌ی for...in استفاده کرد.

مثال: استفاده از حلقه‌ی for...in


for (let key in person) {
  console.log(key + ': ' + person[key]);
}

// Output:
// name: Ali
// greet: function() { console.log('Hello, my name is ' + this.name); }
// job: Developer

 

شیء‌های تو در تو (Nested Objects)

اشیاء می‌توانند حاوی اشیاء دیگر به عنوان خصوصیات خود باشند، که به این اشیاء، شیء‌های تو در تو می‌گویند.

مثال از شیء تو در تو


const student = {
  name: 'Sara',
  age: 22,
  address: {
    city: 'Tehran',
    zipCode: '12345'
  },
  courses: ['Mathematics', 'Physics']
};

console.log(student.address.city); // Output: Tehran
console.log(student.courses[0]); // Output: Mathematics

 

متدهای مهم مربوط به اشیاء

جاوا اسکریپت دارای چندین متد داخلی برای کار با اشیاء است. در زیر به برخی از این متدها اشاره می‌کنیم:

 

Object.keys()

این متد آرایه‌ای از تمام کلیدهای یک شیء را برمی‌گرداند.


console.log(Object.keys(person)); // Output: ['name', 'greet', 'job']

 

Object.values()

این متد آرایه‌ای از تمام مقادیر خصوصیات یک شیء را برمی‌گرداند.


console.log(Object.values(person)); // Output: ['Ali', function() { console.log('Hello, my name is ' + this.name); }, 'Developer']

 

Object.entries()

این متد آرایه‌ای از آرایه‌های جفت کلید-مقدار را برمی‌گرداند.


console.log(Object.entries(person));
// Output: [['name', 'Ali'], ['greet', function() { console.log('Hello, my name is ' + this.name); }], ['job', 'Developer']]

 

مقایسه اشیاء

در جاوا اسکریپت، مقایسه مستقیم دو شیء به وسیله‌ی == یا ===، فقط بررسی می‌کند که آیا آن‌ها به یک مکان در حافظه اشاره می‌کنند یا خیر. برای بررسی تساوی دو شیء، باید تمام خصوصیات آن‌ها را با یکدیگر مقایسه کنید.

مثال: مقایسه اشیاء


const obj1 = { a: 1 };
const obj2 = { a: 1 };

console.log(obj1 === obj2); // Output: false

const obj3 = obj1;
console.log(obj1 === obj3); // Output: true

 

نتیجه‌گیری

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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی
1403/08/11 21:37

استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی

مطالعه بیشتر
آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر
1402/06/05 23:30

آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر

مطالعه بیشتر
آموزش ساخت افکت تصویر با تم اینستاگرام و انیمیشن چرخش دوره‌ای در CSS
1405/03/13 01:45

آموزش ساخت افکت تصویر با تم اینستاگرام و انیمیشن چرخش دوره‌ای در CSS

مطالعه بیشتر
ایجاد Layout‌های واکنش‌گرا با flex-direction و justify-content در CSS Flexbox: راهنمای جامع
1403/08/11 20:59

ایجاد Layout‌های واکنش‌گرا با flex-direction و justify-content در CSS Flexbox: راهنمای جامع

مطالعه بیشتر
مقایسه کامل و جامع MySQLi و PDO در PHP: کدام یک برای پروژه شما مناسب‌تر است؟
1405/05/04 23:45

مقایسه کامل و جامع MySQLi و PDO در PHP: کدام یک برای پروژه شما مناسب‌تر است؟

مطالعه بیشتر
آموزش ساخت دیتابیس و جدول برای پروژه PHP طبق استاندارد گوگل
1405/05/04 23:38

آموزش ساخت دیتابیس و جدول برای پروژه PHP طبق استاندارد گوگل

مطالعه بیشتر
آموزش انیمیشن‌های پیشرفته با keyframes در CSS: طراحی حرکات پویا و چند مرحله‌ای
1402/06/18 22:48

آموزش انیمیشن‌های پیشرفته با keyframes در CSS: طراحی حرکات پویا و چند مرحله‌ای

مطالعه بیشتر
آموزش کامل $_SERVER در PHP: راهنمای جامع متغیرهای سوپرگلوبال سرور
1405/05/01 20:04

آموزش کامل $_SERVER در PHP: راهنمای جامع متغیرهای سوپرگلوبال سرور

مطالعه بیشتر
استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل
1403/08/16 22:58

استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل

مطالعه بیشتر
آموزش اضافه کردن ویدئو و صدا به وب‌سایت: نحوه استفاده از تگ‌های video و audio در HTML
1402/05/23 23:10

آموزش اضافه کردن ویدئو و صدا به وب‌سایت: نحوه استفاده از تگ‌های video و audio در HTML

مطالعه بیشتر
آموزش تغییر المان‌های DOM: ویرایش متن، سبک‌ها و کلاس‌ها در جاوا اسکریپت - راهنمای کامل با مثال‌ها
1403/08/02 21:01

آموزش تغییر المان‌های DOM: ویرایش متن، سبک‌ها و کلاس‌ها در جاوا اسکریپت - راهنمای کامل با مثال‌ها

مطالعه بیشتر
آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننت‌ها
1402/06/28 23:04

آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننت‌ها

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد