а прототипы это если ты в функцию конструктор в свойство prototype запишешь любой метод или свойство, то оно будет видно по всей цепочке наследования, что тут тренировать даже не знаю, единственное при перебирании свойств можно проверить через hasOwnProperty это личное свойство или наследование и манипулировать этим исходя из задачи