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

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

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

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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child
10م شهریور 1402

آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child

مطالعه بیشتر
نصب Vue.js و ایجاد پروژه ساده: آموزش گام‌به‌گام راه‌اندازی Vue
28م شهریور 1402

نصب Vue.js و ایجاد پروژه ساده: آموزش گام‌به‌گام راه‌اندازی Vue

مطالعه بیشتر
مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی
11م آبان 1403

مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی

مطالعه بیشتر
آموزش جامع اینترفیس‌ها و کلاس‌ها (Classes) در ES6 جاوا اسکریپت: مفاهیم و کاربردها
28م مهر 1403

آموزش جامع اینترفیس‌ها و کلاس‌ها (Classes) در ES6 جاوا اسکریپت: مفاهیم و کاربردها

مطالعه بیشتر
آموزش توسعه بازی‌های ساده با استفاده از جاوا اسکریپت و Canvas API: راهنمای گام به گام
5م آبان 1403

آموزش توسعه بازی‌های ساده با استفاده از جاوا اسکریپت و Canvas API: راهنمای گام به گام

مطالعه بیشتر
آموزش طراحی و استایل‌دهی جدول‌ها در CSS: راهنمای ساده و کاربردی
10م شهریور 1402

آموزش طراحی و استایل‌دهی جدول‌ها در CSS: راهنمای ساده و کاربردی

مطالعه بیشتر
آموزش کار با رویدادهای فرم و اعتبارسنجی فرم‌ها در جاوا اسکریپت: راهنمای جامع
3م آبان 1403

آموزش کار با رویدادهای فرم و اعتبارسنجی فرم‌ها در جاوا اسکریپت: راهنمای جامع

مطالعه بیشتر
آموزش CSS Transform و Transition: تبدیل‌ها و ایجاد تغییرات ظاهری پویا
10م شهریور 1402

آموزش CSS Transform و Transition: تبدیل‌ها و ایجاد تغییرات ظاهری پویا

مطالعه بیشتر
استفاده از Viewports و Viewport Units در CSS: طراحی واکنش‌گرا با vw، vh، vmin و vmax
16م آبان 1403

استفاده از Viewports و Viewport Units در CSS: طراحی واکنش‌گرا با vw، vh، vmin و vmax

مطالعه بیشتر
آموزش ایجاد، دسترسی و اصلاح آرایه‌ها در جاوا اسکریپت: راهنمای کامل
4م مهر 1403

آموزش ایجاد، دسترسی و اصلاح آرایه‌ها در جاوا اسکریپت: راهنمای کامل

مطالعه بیشتر
درک و استفاده از Watchers در Vue.js | آموزش Watch با مثال کاربردی
28م آذر 1404

درک و استفاده از Watchers در Vue.js | آموزش Watch با مثال کاربردی

مطالعه بیشتر
مفهوم برنامه‌نویسی هم‌زمان و ناهم‌زمان در جاوا اسکریپت: تفاوت‌ها، مثال‌ها و کاربردها
29م مهر 1403

مفهوم برنامه‌نویسی هم‌زمان و ناهم‌زمان در جاوا اسکریپت: تفاوت‌ها، مثال‌ها و کاربردها

مطالعه بیشتر

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