Ваш код для створення функції-конструктора Person та створення екземплярів об'єктів mary та tom за його допомогою правильний. Обидва екземпляри об'єктів вміють виводити повідомлення про себе за допомогою методу introduceSelf.
Проте є помилка у частині коду, яка перевіряє наявність властивості prop в об'єкті mary. Ви використали неправильний оператор in, оскільки цей оператор перевіряє, чи є властивість у самому об'єкті або в його ланцюжку прототипів. Оскільки ваша функція-конструктор Person не має прототипу з властивістю prop, перевірка завжди буде повертати false.
Однак ви можете використати метод hasOwnProperty(), який перевіряє, чи є властивість у самому об'єкті, а не в його прототипі:
let hasProp = mary.hasOwnProperty('prop');
console.log('Властивість prop', hasProp ? 'знайдена в об\'єкті mary' : 'не знайдена в об\'єкті mary');
console.log(hasProp);
task6
Ваш код для створення функції-конструктора Person та створення екземплярів об'єктів mary та tom за його допомогою правильний. Обидва екземпляри об'єктів вміють виводити повідомлення про себе за допомогою методу introduceSelf.
Проте є помилка у частині коду, яка перевіряє наявність властивості prop в об'єкті mary. Ви використали неправильний оператор in, оскільки цей оператор перевіряє, чи є властивість у самому об'єкті або в його ланцюжку прототипів. Оскільки ваша функція-конструктор Person не має прототипу з властивістю prop, перевірка завжди буде повертати false.
Однак ви можете використати метод hasOwnProperty(), який перевіряє, чи є властивість у самому об'єкті, а не в його прототипі:
let hasProp = mary.hasOwnProperty('prop'); console.log('Властивість prop', hasProp ? 'знайдена в об\'єкті mary' : 'не знайдена в об\'єкті mary'); console.log(hasProp);