Understand Own Properties

В следующем примере конструктор Bird определяет два свойства: name и numLegs :

function Bird(name) {
  this.name = name;
  this.numLegs = 2;
}
let duck = new Bird("Donald");
let canary = new Bird("Tweety");
name и numLegs называются own свойствами, поскольку они определяются непосредственно на объекте экземпляра. Это означает, что duck и canary имеют свою отдельную копию этих свойств. Фактически каждый экземпляр Bird будет иметь свою собственную копию этих свойств. Следующий код добавляет все own свойства duck к массиву ownProps :
let ownProps = [];
for (let property in duck) {
  if (duck.hasOwnProperty(property)) {
    ownProps.push(property);
  }
}
console.log (ownProps); // ["name", "numLegs"]

Добавьте own свойства canary к массиву ownProps .