اشیاء (Objects) یکی از مفاهیم اساسی در جاوا اسکریپت هستند که به شما اجازه میدهند دادههای پیچیدهتری را نسبت به انواع دادههای ساده مانند اعداد و رشتهها ذخیره و مدیریت کنید. اشیاء به عنوان یک ساختار دادهای کلیدی در جاوا اسکریپت، پایه و اساس برنامهنویسی شیءگرا (Object-Oriented Programming) را فراهم میکنند. در این مقاله، به بررسی مفاهیم پایهای اشیاء، نحوهی ایجاد و استفاده از آنها، و برخی از روشهای مهم مربوط به اشیاء در جاوا اسکریپت خواهیم پرداخت.
اشیاء مجموعهای از خصوصیات (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
اشیاء میتوانند حاوی اشیاء دیگر به عنوان خصوصیات خود باشند، که به این اشیاء، شیءهای تو در تو میگویند.
مثال از شیء تو در تو
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
جاوا اسکریپت دارای چندین متد داخلی برای کار با اشیاء است. در زیر به برخی از این متدها اشاره میکنیم:
این متد آرایهای از تمام کلیدهای یک شیء را برمیگرداند.
console.log(Object.keys(person)); // Output: ['name', 'greet', 'job']
این متد آرایهای از تمام مقادیر خصوصیات یک شیء را برمیگرداند.
console.log(Object.values(person)); // Output: ['Ali', function() { console.log('Hello, my name is ' + this.name); }, 'Developer']
این متد آرایهای از آرایههای جفت کلید-مقدار را برمیگرداند.
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) یکی از پایههای اساسی جاوا اسکریپت هستند که به شما امکان میدهند دادههای پیچیدهتری را مدیریت کنید و برنامههای قدرتمندتری بنویسید. با یادگیری نحوهی تعریف، دسترسی، اضافه و حذف خصوصیات، و همچنین استفاده از متدهای مختلف برای کار با اشیاء، میتوانید از قدرت کامل این ساختار دادهای در جاوا اسکریپت بهرهمند شوید. آگاهی از نحوهی مدیریت اشیاء و استفادهی صحیح از آنها، مهارتهای برنامهنویسی شما را به سطح بالاتری خواهد رساند.
نظری یافت نشد
معرفی Vue.js و ویژگیهای کلیدی آن: فریمورک مدرن برای توسعه وب تعاملی
28م شهریور 1402
مطالعه بیشتر
پیمایش اشیاء و آرایهها در جاوا اسکریپت: راهنمای کامل برای Object.keys، Object.values، for...in و for...of
4م مهر 1403
مطالعه بیشتر
آموزش ایجاد فرم با استفاده از HTML: طراحی فرمهای ساده و کاربردی
21م مرداد 1402
مطالعه بیشتر
استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع
9م آبان 1403
مطالعه بیشتر
استفاده از clip-path در CSS برای برشهای زیبا و جذاب: راهنمای کامل
16م آبان 1403
مطالعه بیشتر
آموزش استفاده از جدول در HTML: طراحی و استایلدهی جدولهای ساده و پیشرفته
21م مرداد 1402
مطالعه بیشتر
آموزش ارتباط با سرور و ارسال درخواستهای HTTP با Fetch API در جاوا اسکریپت: راهنمای جامع با مثالها
1م آبان 1403
مطالعه بیشتر
آموزش استایلدهی لینکها در CSS: طراحی و تنظیمات ساده برای لینکهای HTML
7م شهریور 1402
مطالعه بیشتر
آموزش کار با رویدادهای فرم و اعتبارسنجی فرمها در جاوا اسکریپت: راهنمای جامع
3م آبان 1403
مطالعه بیشتر
آموزش استفاده از ماژولها (Modules) در جاوا اسکریپت: آشنایی با ES6 Modules - راهنمای کامل
5م آبان 1403
مطالعه بیشتر
آموزش کامل کار با آرایهها و اشیاء در جاوا اسکریپت: ایجاد، دستکاری و پیمایش
2م شهریور 1403
مطالعه بیشتر
آموزش ساخت یک گالری تصویر با استفاده از جاوا اسکریپت: راهنمای گام به گام
3م آبان 1403
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد