|
@@ -0,0 +1,64 @@
|
|
|
+/*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
|
|
|
+ }
|
|
|
+}
|