--- id: 587d7daf367417b2b2512b7e title: Understand the Constructor Property challengeType: 1 videoUrl: '' localeTitle: فهم خاصية منشئ --- ## Description
هناك خاصية constructor خاص تقع على كائنات الكائن duck beagle التي تم إنشاؤها في التحديات السابقة:
السماح بطة = الطيور الجديدة () ؛
دع بيغل = كلب جديد ()؛

console.log (duck.constructor === Bird)؛ // يطبع صحيح
console.log (beagle.constructor === Dog)؛ // يطبع صحيح
لاحظ أن الخاصية constructor مرجع إلى الدالة منشئ الذي أنشأ المثيل. ميزة الخاصية constructor أنه من الممكن التحقق من هذه الخاصية لمعرفة نوع الكائن. في ما يلي مثال لكيفية استخدام هذا:
وظيفة joinBirdFraternity (مرشح) {
if (candidate.constructor === Bird) {
عاد صحيح
} آخر {
عودة كاذبة؛
}
}
ملحوظة
نظرًا لأنه يمكن الكتابة فوق خاصية constructor (والتي سيتم تغطيتها في التحديين التاليين) ، فمن الأفضل عمومًا استخدام أسلوب instanceof للتحقق من نوع الكائن.
## Instructions
اكتب دالة joinDogFraternity تأخذ معلمة candidate ، وتعود باستخدام خاصية constructor ، true إذا كان المرشح Dog ، وإلا تعيد false .
## Tests
```yml tests: - text: يجب تعريف joinDogFraternity كدالة. testString: 'assert(typeof(joinDogFraternity) === "function", "joinDogFraternity should be defined as a function.");' - text: يجب أن تعود joinDogFraternity true إذا كان candidate مثالًا لـ Dog . testString: 'assert(joinDogFraternity(new Dog("")) === true, "joinDogFraternity should return true ifcandidate is an instance of Dog.");' - text: joinDogFraternity يجب استخدام الخاصية constructor . testString: 'assert(/\.constructor/.test(code) && !/instanceof/.test(code), "joinDogFraternity should use the constructor property.");' ```
## Challenge Seed
```js function Dog(name) { this.name = name; } // Add your code below this line function joinDogFraternity(candidate) { } ```
## Solution
```js // solution required ```