Files
freeCodeCamp/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/define-a-constructor-function.md
2022-11-16 09:41:57 -08:00

2.3 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7dad367417b2b2512b77 تعريف وظيفة المنشئة (Constructor Function) 1 16804 define-a-constructor-function

--description--

يكون منشئون (Constructors) وظائف (functions) تقوم بأنشاء كائنات (objects) جديدة. وهي تحدد الخصائص والسلوكيات التي ستنتمي إلى الـ object الجديد. فكر فيها كمخطط لإنشاء objects جديدة.

وفيما يلي مثال على constructor:

function Bird() {
  this.name = "Albert";
  this.color = "blue";
  this.numLegs = 2;
}

هذا الـ constructor يعرف object الـ Bird ذو خصائص name, color و numLegs تم تعيينهم إلى Albert و blue و 2 على التوالي. ويتبع الـ Constructors بعض الاتفاقيات:

  • يتم تعريف المنشئون (Constructors) مع اسم بأحرف كبيرة (capitalized) لتمييزهم عن الوظائف (functions) الأخرى التي ليست constructors.
  • يستخدم الـ Constructors كلمة this لتعيين خصائص الـ object الذي سينشئونه. داخل الـ constructor الكلمة this تشير إلى الـ object الجديد الذي ستقوم بإنشائه.
  • يقوم المنشئون (Constructors) بتحديد الخصائص والسلوكيات بدلاً من بإنشاء قيمة مثلما قد يفعل الوظائف (functions) الأخرى.

--instructions--

قم بإنشاء constructor الـ Dog، بخصائص name و color و numLegs التي تم تعيينهم على string و string و رقم، على التوالي.

--hints--

Dog يجب أن يكون لديه خاصية name من نوع string.

assert(typeof new Dog().name === 'string');

Dog يجب أن يكون لديه خاصية color من نوع string.

assert(typeof new Dog().color === 'string');

Dog يجب أن يكون لديه خاصية numLegs من نوع number.

assert(typeof new Dog().numLegs === 'number');

--seed--

--seed-contents--


--solutions--

function Dog (name, color, numLegs) {
  this.name = 'name';
  this.color = 'color';
  this.numLegs = 4;
}