constructor خاص تقع على كائنات الكائن duck beagle التي تم إنشاؤها في التحديات السابقة: السماح بطة = الطيور الجديدة () ؛لاحظ أن الخاصية
دع بيغل = كلب جديد ()؛
console.log (duck.constructor === Bird)؛ // يطبع صحيح
console.log (beagle.constructor === Dog)؛ // يطبع صحيح
constructor مرجع إلى الدالة منشئ الذي أنشأ المثيل. ميزة الخاصية constructor أنه من الممكن التحقق من هذه الخاصية لمعرفة نوع الكائن. في ما يلي مثال لكيفية استخدام هذا: وظيفة joinBirdFraternity (مرشح) {ملحوظة
if (candidate.constructor === Bird) {
عاد صحيح
} آخر {
عودة كاذبة؛
}
}
constructor (والتي سيتم تغطيتها في التحديين التاليين) ، فمن الأفضل عمومًا استخدام أسلوب instanceof للتحقق من نوع الكائن. joinDogFraternity تأخذ معلمة candidate ، وتعود باستخدام خاصية constructor ، true إذا كان المرشح Dog ، وإلا تعيد false . 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.");'
```