Files
freeCodeCamp/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/define-a-constructor-function.md
2022-10-20 09:13:17 -07:00

2.2 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7dad367417b2b2512b77 تعريف دالة البناء (Define a 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;
}