12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /*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
- }
- }
|