/*Person Constructor Переделайте задание createPerson на функцию конструктор Person. const a = new Person("Вася", "Пупкин") const b = new Person("Анна", "Иванова") const c = new Person("Елизавета", "Петрова") console.log(a.getFullName()) //Вася Пупкин a.fatherName = 'Иванович' //Вася Иванович Пупкин console.log(b.getFullName()) //Анна Иванова Для этого методы и свойства заносите не в создаваемый объект, а в this внутри конструктора.*/ { const a = new Person("Вася", "Пупкин") const b = new Person("Анна", "Иванова") const c = new Person("Елизавета", "Петрова") console.log(a.getFullName()) //Вася Пупкин a.fatherName = 'Иванович' //Вася Иванович Пупкин console.log(b.getFullName()) //Анна Иванова function Person(name, surname) { this.name = name, this.surname = surname, this.getFullName = () => `${this.name} ${this.fatherName || ""} ${this.surname}` } } /*Person Prototype Переделайте предыдущее задание, вынеся методы в прототип. Для этого вместо присвоения в this занесите их в объект Person.prototype. После этой переделки все должно работать по старому: const a = createPerson("Вася", "Пупкин") const b = createPerson("Анна", "Иванова") const c = createPerson("Елизавета", "Петрова") console.log(a.getFullName()) //Вася Пупкин a.fatherName = 'Иванович' //Вася Иванович Пупкин console.log(b.getFullName()) //Анна Иванова*/ { const a = createPerson("Вася", "Пупкин") const b = createPerson("Анна", "Иванова") const c = createPerson("Елизавета", "Петрова") console.log(a.getFullName()) //Вася Пупкин a.fatherName = 'Иванович' //Вася Иванович Пупкин console.log(a.getFullName()) console.log(b.getFullName()) //Анна Иванова*/ function createPerson(name, surname){ function Person(name, surname) { Person.prototype.getFullName = function () {return `${this.name} ${this.fatherName || ""} ${this.surname}`} this.name = name this.surname = surname } const a = new Person (name, surname) return a } }