"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > إتقان الكائنات في جافا سكريبت

إتقان الكائنات في جافا سكريبت

تم النشر بتاريخ 2024-12-22
تصفح:413

Mastering Objects in JavaScript

الكائنات في جافا سكريبت

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


1. إنشاء الكائنات

أ. كائن حرفي

إن أبسط طريقة لإنشاء كائن هي استخدام الأقواس المتعرجة {}.

مثال:

const person = {
  name: "Alice",
  age: 25,
  greet: function () {
    console.log("Hello!");
  },
};

console.log(person.name); // Output: Alice
person.greet(); // Output: Hello!

ب. منشئ الكائنات

يؤدي استخدام مُنشئ الكائن إلى إنشاء كائن فارغ.

مثال:

const person = new Object();
person.name = "Bob";
person.age = 30;
person.greet = function () {
  console.log("Hi!");
};

console.log(person.name); // Output: Bob
person.greet(); // Output: Hi!

ج. باستخدام Object.create()

تقوم هذه الطريقة بإنشاء كائن جديد بالنموذج الأولي المحدد.

مثال:

const prototype = { greet: function () { console.log("Hello!"); } };
const person = Object.create(prototype);
person.name = "Charlie";
console.log(person.name); // Output: Charlie
person.greet(); // Output: Hello!

2. الوصول إلى خصائص الكائن

أ. تدوين النقطة

الوصول إلى الخصائص باستخدام النقطة (.).

مثال:

console.log(person.name); // Output: Alice

ب. تدوين القوس

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

مثال:

console.log(person["name"]); // Output: Alice
const key = "age";
console.log(person[key]); // Output: 25

3. إضافة وتعديل وحذف الخصائص

  • إضافة:
person.country = "USA";
console.log(person.country); // Output: USA
  • تعديل:
person.age = 26;
console.log(person.age); // Output: 26
  • حذف:
delete person.age;
console.log(person.age); // Output: undefined

4. الأساليب في الكائنات

عندما تكون الدالة خاصية لكائن ما، فإنها تسمى طريقة .

مثال:

const car = {
  brand: "Tesla",
  start: function () {
    console.log("Car started!");
  },
};

car.start(); // Output: Car started!

5. التكرار على خصائص الكائن

أ. استخدام ل... في

التكرار على كافة الخصائص التي لا تعد ولا تحصى للكائن.

مثال:

for (let key in person) {
  console.log(`${key}: ${person[key]}`);
}

ب. استخدام Object.keys()

إرجاع مجموعة من مفاتيح الكائن.

مثال:

Object.keys(person).forEach((key) => {
  console.log(`${key}: ${person[key]}`);
});

ج. استخدام Object.entries()

إرجاع مصفوفة من أزواج [المفتاح، القيمة].

مثال:

Object.entries(person).forEach(([key, value]) => {
  console.log(`${key}: ${value}`);
});

6. طرق الكائن

توفر JavaScript العديد من الأساليب المضمنة للعمل مع الكائنات.

  • Object.assis(): نسخ الخصائص من كائن إلى آخر.
const target = { a: 1 };
const source = { b: 2 };
Object.assign(target, source);
console.log(target); // Output: { a: 1, b: 2 }
  • Object.freeze(): يمنع تعديل الكائن.
const obj = { a: 1 };
Object.freeze(obj);
obj.a = 2; // No effect
console.log(obj.a); // Output: 1
  • Object.seal(): يمنع إضافة أو إزالة الخصائص ولكنه يسمح بتعديل الخصائص الموجودة.
const obj = { a: 1 };
Object.seal(obj);
obj.b = 2; // No effect
obj.a = 3; // Works
console.log(obj); // Output: { a: 3 }

7. النماذج الأولية والميراث

الكائنات في JavaScript لها نموذج أولي، وهو كائن آخر ترث منه الخصائص والأساليب.

مثال:

const animal = { eats: true };
const dog = Object.create(animal);
dog.barks = true;

console.log(dog.eats); // Output: true (inherited)
console.log(dog.barks); // Output: true

8. تدمير الكائنات

يسمح التدمير باستخراج الخصائص من كائن إلى متغيرات.

مثال:

const person = { name: "Alice", age: 25 };
const { name, age } = person;
console.log(name); // Output: Alice
console.log(age); // Output: 25

9. ملخص

  • الكائنات هي أزواج ذات قيمة أساسية يمكنها تخزين الخصائص والأساليب.
  • استخدم القيم الحرفية للكائن لإنشاء كائن بسيط.
  • الوصول إلى خصائص الكائن باستخدام تدوين النقطة أو القوس.
  • استخدم الأساليب المضمنة مثل Object.keys() وObject.assis() وObject.freeze() لمعالجة الكائنات بشكل فعال.
  • يعد إتقان الكائنات أمرًا ضروريًا لفهم مفاهيم JavaScript المتقدمة مثل النماذج الأولية والميراث.

مرحبًا، أنا أبهاي سينغ كاثايات!
أنا مطور متكامل ولدي خبرة في تقنيات الواجهة الأمامية والخلفية. أنا أعمل مع مجموعة متنوعة من لغات وأطر البرمجة لإنشاء تطبيقات فعالة وقابلة للتطوير وسهلة الاستخدام.
لا تتردد في التواصل معي على البريد الإلكتروني الخاص بالعمل: [email protected].

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/abhay_yt_52a8e72b213be229/mastering-objects-in-javascript-4p57?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3