--- id: 587d7daf367417b2b2512b7e title: Understand the Constructor Property challengeType: 1 videoUrl: '' localeTitle: Понять свойство конструктора --- ## Description
Существует специальное свойство 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 для проверки типа объекта.
## Instructions undefined ## Tests
```yml tests: - text: 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.");' ```
## Challenge Seed
```js function Dog(name) { this.name = name; } // Add your code below this line function joinDogFraternity(candidate) { } ```
## Solution
```js // solution required ```