Здравствуйте! Я работаю с прототипным наследованием и столкнулся с делеммой при задании свойства прототипа.
Есть объект parent и конструктор Child. Child использует parent как прототип. Если я задаю свойство в Child.prototype, то оно, естественно, появляется и в объекте parent:
let parent = { };
function Child() { }
Child.prototype = parent;
Child.prototype.num = 2;
let child = new Child();
console.log( parent.num ); // 2
Мне нужно чтобы я мог задавать свойства в прототипе, но при этом чтобы объект parent не изменялся. Конечно можно задать свойство как свойство объекта child:
function Child (){
this.num = 2;
}
Но это не экономно по памяти если я создам множество объектов child. Поэтому я хочу, чтобы свойство бралось из прототипа, но при этом чтобы объект parent не изменялся.