Изучаю прототипное наследование по нескольких ресурсах. И у меня возникло несколько вопросов:
Вопрос №1:
Как правильно написать определение:
1) Прототипное наследование-это когда прототип наследует свойства у другого объекта.
2) Прототипное наследование--это когда объект наследует свойства у прототипа.
Какой вариант правильный?
Вопрос №2:
какой здесь обьект прототип?
let animal = {
eats: true
};
let rabbit = {
jumps: true
};
rabbit.__proto__ = animal;
и какой здесь обьект прототип?
let point = {
x: 10,
y: 20,
};
let point3D = {
z: 30,
__proto__: point,
};
console.log(
point3D.x, // 10
point3D.y, // 20
point3D.z // 30
);
Вопрос №3:
Я так понял что создать (задать явно) прототип можно двумя способами:
object__proto__ = прототип
или так:
Оbject.create(прототип);
А что такое тогда в коде выше?:
__proto__: point
И в каких случаях его используют?