ما هو الـ Object؟
بعد أن تعلمنا كيفية إنشاء Class، حان الوقت للتعرف على Object.
في الحقيقة، لقد استخدمنا الكائن في عدة أمثلة سابقة، لذلك لن يكون المفهوم جديدًا عليك.
الفكرة بسيطة جدًا:
- ننشئ Class.
- ننشئ Object من هذا الـ Class.
// Modelclass Car { constructor() { console.log("This is a car model"); }}
// Objectconst car = new Car();لماذا نخزن الكائن في متغير أو ثابت؟
قد تتساءل:
- لماذا نضع الكائن داخل
const؟ - هل يمكن استخدام
var؟ - وهل يمكن إنشاء الكائن مباشرة دون تخزينه؟
الإجابة هي: نعم، جميع الطرق التالية صحيحة.
// Constantconst car = new Car();
// Variablevar car = new Car();
// Create directlynew Car();الفرق لا يتعلق بصحة الكود، وإنما بطريقة استخدامك له.
إذا كنت ستحتاج إلى الكائن أكثر من مرة داخل البرنامج، فمن الأفضل تخزينه في متغير أو ثابت حتى تتمكن من استخدامه لاحقًا دون الحاجة إلى إنشائه مرة أخرى.
أما إذا كنت تحتاج إليه مرة واحدة فقط، فيمكنك إنشاؤه مباشرة.
لماذا نستخدم const غالبًا؟
في معظم الحالات، ستجد أن الكائنات تُخزن داخل const.
والسبب هو أننا لا نخطط عادةً لإعادة إسناد الكائن إلى قيمة أخرى لاحقًا.
const car = new Car();استخدام const لا يعني أن الكائن نفسه لا يمكن تعديل بياناته، وإنما يعني أن المرجع (Reference) المخزن في المتغير لن يتم استبداله بكائن آخر.
ولهذا السبب يُعد استخدام const من أفضل الممارسات عند إنشاء الكائنات.
ما هي الكلمة new؟
الكلمة المفتاحية new مسؤولة عن إنشاء كائن جديد من الـ Class.
فعندما تكتب:
const car = new Car();فأنت تطلب من JavaScript إنشاء نسخة جديدة من النموذج Car.
ويمكنك إنشاء أي عدد من الكائنات من النموذج نفسه.
const car1 = new Car();const car2 = new Car();const car3 = new Car();const car4 = new Car();كل واحد من هذه الكائنات مستقل عن الآخر، لكنه أُنشئ من النموذج نفسه.
إذا عدنا إلى مثال السيارة، فيمكن اعتبار الـ Class هو تصميم السيارة، بينما تمثل كل عملية new Car() سيارة جديدة صُنعت اعتمادًا على هذا التصميم.
ماذا يجب أن تتذكر؟
- يتم إنشاء Object من Class باستخدام الكلمة المفتاحية
new. - يمكن إنشاء عدد غير محدود من الكائنات من النموذج نفسه.
- يمكن تخزين الكائن في
constأوvarأو استخدامه مباشرة، حسب الحاجة. - يُفضل استخدام
constعند إنشاء الكائنات، لأنه من النادر إعادة إسنادها إلى كائن آخر.