15- دروس جافا سكربت – JS Objects

# الكائنات في JavaScript: شرح مفصل

تعتبر الكائنات (Objects) في JavaScript واحدة من اللبنات الأساسية في اللغة، وهي تمثل طريقة لتخزين وتجميع البيانات والوظائف بطريقة منظمة. الكائنات في JavaScript مرنة وقوية، مما يجعلها أداة مهمة جدًا في تطوير الويب والتطبيقات الحديثة.

## ما هو الكائن في JavaScript؟

الكائن في JavaScript هو مجموعة غير مرتبة من القيم (values) المرتبطة بمفاتيح (keys)، أو ما يعرف [شركة برمجة مصرية] بالخصائص (properties). يمكن أن تكون القيم أي نوع من أنواع البيانات، بما في ذلك كائنات أخرى، مما يتيح إنشاء هياكل بيانات معقدة.

### إنشاء كائن

يمكن إنشاء كائن في JavaScript بعدة طرق، لكن الطريقة الأكثر شيوعًا هي استخدام “معامل الكائن” `{}`:

let person = {
  name: 'Ali',
  age: 30,
  job: 'Engineer'
};

في المثال أعلاه، قمنا بإنشاء كائن يسمى `person` يحتوي على ثلاث خصائص: `name`, `age`, و`job`.

### الوصول إلى خصائص الكائن

يمكن الوصول إلى خصائص الكائن باستخدام النقطة `.` أو الأقواس المربعة `[]`.

console.log(person.name); // Ali
console.log(person['job']); // Engineer

### تعديل خصائص الكائن

يمكن تعديل خصائص الكائن ببساطة عن طريق الإسناد:

person.age = 31;
person['job'] = 'Senior Engineer';

### إضافة خصائص جديدة

يمكن إضافة خصائص جديدة إلى الكائن بنفس الطريقة التي نعدل بها الخصائص الموجودة:

person.gender = 'Male';
person['nationality'] = 'Saudi';

### حذف خصائص الكائن

لحذف خصائص من الكائن، يمكنك استخدام الكلمة المفتاحية `delete`:

delete person.job;

### الكائنات والوظائف

يمكن أن تحتوي الكائنات في JavaScript أيضًا على وظائف، والتي تُعرف بالطرق (methods) عندما تكون جزءًا من كائن. يمكن تعريف الطرق بنفس طريقة الخصائص، لكن القيم ستكون دوال:

let car = {
  brand: 'Toyota',
  model: 'Camry',
  startEngine: function() {
    console.log('Engine started');
  }
};

car.startEngine(); // Engine started

### استخدام [شركة برمجة مصرية] الكائنات في البرمجة الكائنية

تدعم JavaScript البرمجة الكائنية، وتُستخدم الكائنات لتعريف الفئات (classes) والوراثة (inheritance). على الرغم من أن JavaScript ليست لغة كائنية بشكل صارم، إلا أنها توفر أدوات قوية لإعادة استخدام الكود وتنظيمه.

class Animal {
  constructor(name, species) {
    this.name = name;
    this.species = species;
  }

  describe() {
    return `${this.name} is a ${this.species}.`;
  }
}

let dog = new Animal('Buddy', 'Dog');
console.log(dog.describe()); // Buddy is a Dog.

### الخلاصة

الكائنات في JavaScript هي أحد أهم وأقوى الميزات في اللغة، حيث توفر وسيلة مرنة وفعالة لتنظيم البيانات والوظائف. من خلال فهم الكائنات، يمكنك بناء هياكل بيانات معقدة وبرامج أكثر تنظيماً وقوة. سواء كنت تستخدم الكائنات في البرمجة الوظيفية أو الكائنية، فإن إتقان استخدام الكائنات يعد خطوة أساسية في رحلتك لتصبح مطور JavaScript محترف.