Показать сообщение отдельно
  #7 (permalink)  
Старый 18.01.2021, 09:54
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

Сообщение от 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;    // А это что и зачем?
        }

Последний раз редактировалось voraa, 18.01.2021 в 10:21.
Ответить с цитированием