constructor расположенное на объектных экземплярах duck и beagle которые были созданы в предыдущих задачах: let duck = new Bird ();Обратите внимание, что свойство
let beagle = new Dog ();
console.log (duck.constructor === Bird); // выводит true
console.log (beagle.constructor === Собака); // выводит true
constructor является ссылкой на конструктор, создавший экземпляр. Преимущество свойства constructor заключается в том, что можно проверить это свойство, чтобы узнать, какой он объект. Вот пример того, как это можно использовать: function joinBirdFraternity (кандидат) {Заметка
if (кандидат.конструктор === Птица) {
return true;
} else {
return false;
}
}
constructor может быть перезаписано (что будет рассмотрено в следующих двух задачах), лучше всего использовать метод instanceof для проверки типа объекта. joinDogFraternity следует определять как функцию.
testString: 'assert(typeof(joinDogFraternity) === "function", "joinDogFraternity should be defined as a function.");'
- text: ''
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.");'
```