freeCodeCamp/curriculum/challenges/russian/02-javascript-algorithms-an.../object-oriented-programming/iterate-over-all-properties...

3.0 KiB

id title challengeType videoUrl localeTitle
587d7daf367417b2b2512b7d Iterate Over All Properties 1 Итерация по всем свойствам

Description

Теперь вы видите два вида свойств: own свойства и свойства prototype . Own свойства определяются непосредственно на самом экземпляре объекта. И prototype определены на prototype .
функция Bird (name) {
this.name = name; //собственность
}

Bird.prototype.numLegs = 2; // свойство прототипа

пусть утка = новая птица («Дональд»);
Вот как вы добавляете own свойства duck к массиву ownProps и свойства prototype для массива prototypeProps :
let ownProps = [];
let prototypeProps = [];

для (пусть свойство в утке) {
if (duck.hasOwnProperty (свойство)) {
ownProps.push (свойство);
} else {
prototypeProps.push (свойство);
}
}

console.log (ownProps); // печатает ["name"]
console.log (prototypeProps); // печатает ["numLegs"]

Instructions

Добавьте все own свойства beagle в массив ownProps . Добавьте все свойства prototype Dog в массив prototypeProps .

Tests

tests:
  - text: Массив <code>ownProps</code> должен содержать <code>&quot;name&quot;</code> .
    testString: 'assert(ownProps.indexOf("name") !== -1, "The <code>ownProps</code> array should include <code>"name"</code>.");'
  - text: Массив <code>prototypeProps</code> должен содержать <code>&quot;numLegs&quot;</code> .
    testString: 'assert(prototypeProps.indexOf("numLegs") !== -1, "The <code>prototypeProps</code> array should include <code>"numLegs"</code>.");'
  - text: 'Решите эту задачу, не используя встроенный метод <code>Object.keys()</code> .'
    testString: 'assert(!/\Object.keys/.test(code), "Solve this challenge without using the built in method <code>Object.keys()</code>.");'

Challenge Seed

function Dog(name) {
  this.name = name;
}

Dog.prototype.numLegs = 4;

let beagle = new Dog("Snoopy");

let ownProps = [];
let prototypeProps = [];

// Add your code below this line

Solution

// solution required