freeCodeCamp/curriculum/challenges/arabic/02-javascript-algorithms-an.../object-oriented-programming/understand-the-constructor-...

3.0 KiB

id title challengeType videoUrl localeTitle
587d7daf367417b2b2512b7e Understand the Constructor Property 1 فهم خاصية منشئ

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

tests:
  - text: يجب تعريف <code>joinDogFraternity</code> كدالة.
    testString: 'assert(typeof(joinDogFraternity) === "function", "<code>joinDogFraternity</code> should be defined as a function.");'
  - text: يجب أن تعود <code>joinDogFraternity</code> true إذا كان <code>candidate</code> مثالًا لـ <code>Dog</code> .
    testString: 'assert(joinDogFraternity(new Dog("")) === true, "<code>joinDogFraternity</code> should return true if<code>candidate</code> is an instance of <code>Dog</code>.");'
  - text: <code>joinDogFraternity</code> يجب استخدام الخاصية <code>constructor</code> .
    testString: 'assert(/\.constructor/.test(code) && !/instanceof/.test(code), "<code>joinDogFraternity</code> should use the <code>constructor</code> property.");'

Challenge Seed

function Dog(name) {
  this.name = name;
}

// Add your code below this line
function joinDogFraternity(candidate) {

}

Solution

// solution required