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.");'
```