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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

چگونه اسکریپت‌های ساده جاوا اسکریپت را در مرورگر بنویسیم و اجرا کنیم: راهنمای کامل برای مبتدیان
1402/07/02 21:37

چگونه اسکریپت‌های ساده جاوا اسکریپت را در مرورگر بنویسیم و اجرا کنیم: راهنمای کامل برای مبتدیان

مطالعه بیشتر
استفاده از visibility و opacity در CSS برای مخفی‌سازی عناصر: راهنمای کامل و کاربردی
1403/08/11 20:31

استفاده از visibility و opacity در CSS برای مخفی‌سازی عناصر: راهنمای کامل و کاربردی

مطالعه بیشتر
تفاوت Data و Computed Properties در Vue.js | آموزش کاربردی و مثال‌محور
1404/09/21 23:58

تفاوت Data و Computed Properties در Vue.js | آموزش کاربردی و مثال‌محور

مطالعه بیشتر
راهنمای جامع جلوگیری از SQL Injection در PHP (طبق استانداردهای گوگل)
1405/05/13 21:19

راهنمای جامع جلوگیری از SQL Injection در PHP (طبق استانداردهای گوگل)

مطالعه بیشتر
آموزش فیلتر کردن داده‌ها در PHP با توابع filter_var و preg_match
1405/05/13 21:29

آموزش فیلتر کردن داده‌ها در PHP با توابع filter_var و preg_match

مطالعه بیشتر
استفاده از CSS Scoped و استایل‌دهی به کامپوننت‌ها در Vue.js | آموزش کاربردی
1404/09/23 21:27

استفاده از CSS Scoped و استایل‌دهی به کامپوننت‌ها در Vue.js | آموزش کاربردی

مطالعه بیشتر
عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف
1402/06/28 00:20

عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف

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

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

مطالعه بیشتر
آموزش جامع و استاندارد کار با آرایه‌ها در PHP (راهنمای گوگل)
1405/03/24 01:04

آموزش جامع و استاندارد کار با آرایه‌ها در PHP (راهنمای گوگل)

مطالعه بیشتر
آموزش قالب‌بندی متن در HTML: استفاده از تگ‌ها و CSS برای استایل‌دهی
1402/05/23 23:32

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

مطالعه بیشتر
آموزش تکنیک‌های پیشرفته CSS Grid: طراحی ساختارهای پیچیده و واکنش‌گرا
1402/06/18 23:16

آموزش تکنیک‌های پیشرفته CSS Grid: طراحی ساختارهای پیچیده و واکنش‌گرا

مطالعه بیشتر
آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع
1403/08/02 21:45

آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع

مطالعه بیشتر

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