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