آموزش رایگان جاوا اسکریپت (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) یکی از پایه‌های اساسی جاوا اسکریپت هستند که به شما امکان می‌دهند داده‌های پیچیده‌تری را مدیریت کنید و برنامه‌های قدرتمندتری بنویسید. با یادگیری نحوه‌ی تعریف، دسترسی، اضافه و حذف خصوصیات، و همچنین استفاده از متدهای مختلف برای کار با اشیاء، می‌توانید از قدرت کامل این ساختار داده‌ای در جاوا اسکریپت بهره‌مند شوید. آگاهی از نحوه‌ی مدیریت اشیاء و استفاده‌ی صحیح از آن‌ها، مهارت‌های برنامه‌نویسی شما را به سطح بالاتری خواهد رساند.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

تفاوت Session و Cookie در PHP؛ راهنمای جامع و کاربردی طبق استاندارد گوگل
1405/05/01 20:14

تفاوت Session و Cookie در PHP؛ راهنمای جامع و کاربردی طبق استاندارد گوگل

مطالعه بیشتر
آموزش جامع و کاربردی توابع رشته‌ای در PHP (توابع strlen، str_replace و strpos)
1405/04/27 21:43

آموزش جامع و کاربردی توابع رشته‌ای در PHP (توابع strlen، str_replace و strpos)

مطالعه بیشتر
روش‌های کار با Conditional و Loop در Vue.js | آموزش v-if، v-show و v-for
1404/09/28 21:24

روش‌های کار با Conditional و Loop در Vue.js | آموزش v-if، v-show و v-for

مطالعه بیشتر
مقدمه‌ای بر Node.js و کار با جاوا اسکریپت سمت سرور: آموزش اولیه و اصولی
1403/08/04 19:58

مقدمه‌ای بر Node.js و کار با جاوا اسکریپت سمت سرور: آموزش اولیه و اصولی

مطالعه بیشتر
آموزش گام به گام ساخت سیستم لاگین و لاگ‌اوت در PHP به صورت ایمن
1405/05/14 22:13

آموزش گام به گام ساخت سیستم لاگین و لاگ‌اوت در PHP به صورت ایمن

مطالعه بیشتر
استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع
1403/08/09 20:48

استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع

مطالعه بیشتر
آموزش جامع Session در PHP به زبان ساده + پروژه عملی شبیه‌ساز
1405/05/01 20:07

آموزش جامع Session در PHP به زبان ساده + پروژه عملی شبیه‌ساز

مطالعه بیشتر
آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایل‌دهی حرفه‌ای به متن‌ها
1402/06/05 00:13

آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایل‌دهی حرفه‌ای به متن‌ها

مطالعه بیشتر
آموزش Emit در Vue.js | انتقال رویداد از کامپوننت فرزند به والد
1404/09/28 21:41

آموزش Emit در Vue.js | انتقال رویداد از کامپوننت فرزند به والد

مطالعه بیشتر
آموزش جامع انواع داده‌ها در PHP (بخش اول: String, Integer, Float, Boolean)
1405/03/24 01:01

آموزش جامع انواع داده‌ها در PHP (بخش اول: String, Integer, Float, Boolean)

مطالعه بیشتر
آموزش کامل حلقه foreach در PHP برای پیمایش آرایه‌ها (به زبان ساده)
1405/04/16 00:37

آموزش کامل حلقه foreach در PHP برای پیمایش آرایه‌ها (به زبان ساده)

مطالعه بیشتر
نصب Node.js و Create React App: شروع پروژه‌های React.js به‌صورت آسان
1402/06/28 01:09

نصب Node.js و Create React App: شروع پروژه‌های React.js به‌صورت آسان

مطالعه بیشتر

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