Сообщение от denis_alekss
|
let Person2 = Person;
Person2.prototype.goodbye = function () {
console.log("Goodbye, " + this.name);
}
|
Это зачем?
Новой функции не будет.
Функция останется одна. Только две переменные будут на нее ссылаться.
И Person2.prototype это тоже самое, что Person.prototype. Один и тот же объект.
Сообщение от denis_alekss
|
а как получить эти значения объекту b и вывести?
|
Никак. Это разные объекты.
При создании объекта b вы не передали ему значения для name и gender. Потому, что при создании объектов Son вы не предусматриваете эти параметры, а для Person передаете undefined.
Вы хотите, что бы b был как то связан с а? Брал е поля?
Но если вы напишите
let a = new Person("Петя", 25, "male");
let a1 = new Person("Вася", 14, "male");
let a2 = new Person("Маша", 25, "female");
let b = new Son(18, ["рисует", "поет", "водит"]);
То с каким из a, a1, a2 по вашему должен быть связан b?
Son должен быть таким
let Son = function (name, age, skils) { // Имя будет Son
Person.call(this, name, age, 'male');
this.skils = skils || [];
this.gender; // А это что и зачем?
}