### شرح مفصل لـ “خصائص الكائنات في JavaScript”
الكائنات (Objects) في JavaScript هي نوع من البيانات التي تسمح لك بتخزين مجموعة من القيم والخصائص ذات العلاقة. تُستخدم الكائنات بشكل واسع لتمثيل البيانات المعقدة والتعامل معها بطريقة منظمة. في هذا المقال، سنستعرض خصائص الكائنات في JavaScript ونوضح كيفية استخدامها مع تقديم أمثلة متعددة.
#### مقدمة إلى خصائص الكائنات
كل كائن في JavaScript يتكون من مجموعة من الخصائص. كل خاصية عبارة عن زوج مكون من مفتاح (key) وقيمة (value). المفتاح عادة ما يكون سلسلة نصية، بينما يمكن أن تكون القيمة أي نوع من أنواع البيانات، بما في ذلك كائن آخر.
#### أنواع الخصائص
1. **خصائص البيانات (Data Properties):**
هذه هي الخصائص التقليدية التي تحتوي على قيمة. يمكنك القراءة منها أو الكتابة إليها.
مثال:
const person = {
name: "Ahmed",
age: 30
};
console.log(person.name); // Ahmed
person.age = 31;
console.log(person.age); // 31
2. [شركة برمجة مصرية] **خصائص الوصول (Accessor Properties):**
هذه الخصائص لا تحتوي على قيمة مباشرة، ولكنها تعتمد على دوال للوصول إلى القيم أو تعيينها. يتم تعريفها باستخدام getters و setters.
مثال:
const person = {
firstName: "Ahmed",
lastName: "Ali",
get fullName() {
return `${this.firstName} ${this.lastName}`;
},
set fullName(name) {
const parts = name.split(" ");
this.firstName = parts[0];
this.lastName = parts[1];
}
};
console.log(person.fullName); // Ahmed Ali
person.fullName = "Mohamed Salah";
console.log(person.firstName); // Mohamed
console.log(person.lastName); // Salah
#### خصائص الكائنات المضمنة
– **Property Attributes:** كل خاصية في كائن JavaScript لها سمات مثل:
– `writable`: إذا كانت true، يمكن تغيير قيمة الخاصية.
– `enumerable`: إذا كانت true، يمكن أن تظهر الخاصية في جولات التكرار مثل `for…in`.
– `configurable`: إذا كانت true، يمكن حذف الخاصية أو تعديل سماتها.
مثال على كيفية تعديل سمات الخاصية:
const car = {
brand: "Toyota"
};
Object.defineProperty(car, "brand", {
writable: false,
enumerable: false,
configurable: false
});
console.log(car.brand); // Toyota
car.brand = "Honda"; // لن يتم تغيير القيمة بسبب writable: false
console.log(car.brand); // Toyota
#### طرق التعامل مع الخصائص
1. **إضافة خصائص:**
يمكن إضافة خصائص جديدة [شركة برمجة مصرية] للكائن ببساطة عن طريق تعيين قيمة للمفتاح الجديد.
const book = {};
book.title = "JavaScript Basics";
book.author = "John Doe";
console.log(book); // { title: "JavaScript Basics", author: "John Doe" }
2. **حذف خصائص:**
لحذف خاصية من كائن، يمكن استخدام الكلمة المفتاحية `delete`.
delete book.author;
console.log(book); // { title: "JavaScript Basics" }
3. **التحقق من وجود خاصية:**
يمكن استخدام الكلمة المفتاحية `in` أو دالة `hasOwnProperty`.
console.log("title" in book); // true
console.log(book.hasOwnProperty("author")); // false
#### الخاتمة
خصائص الكائنات في JavaScript تمنحك قوة ومرونة كبيرة في تصميم البرامج. من خلال فهم كيفية إنشاء خصائص البيانات والوصول إليها وإدارتها، يمكنك بناء تطبيقات أكثر تعقيدًا وقابلية للتوسع. تتيح لك خصائص الوصول تصميم واجهات مستخدم أكثر تفاعلية، بينما تمنحك سمات الخصائص التحكم الدقيق في سلوك الكائن. من خلال الممارسة والتجربة، ستتمكن من استخدام خصائص الكائنات بفعالية في مشاريعك المستقبلية.
