Wpis z mikrobloga

Już gogluje godzine i nie mogę znaleźć odpowiedzi. Nie wiem, może źle pytam gogla?

Mam takie dwa konstruktory

function Person(firstName, lastName, dateOfBirth, gender) {
this.name = {
firstName: firstName
lastName: lastName
}
this.dateOfBirth = dateOfBirth
this.gender = gender
}

function Teacher(subject, workExpierience) {
Person.call(this)
this.subject = subject
this.workExpierience = workExpierience
}

Teacher.prototype = Object.create(Person.prototype)
Teacher.prototype.constructor = Teacher

Teraz stworzyłem sobie zmienną:

let kowalski = new Person("Jan", "Kowalski", 1980, "male")
Jak zrobić teraz, żeby kowalski stał się Teacherem i zachował wartości jak imie, nazwisko itd?

#js
#naukaprogramowania #javascript
  • 7
  • Odpowiedz
@abraxasss: Szczerze na javascripcie się nie znam, ale raczej wątpię. Możesz sobie utworzyć konstruktor Teacher, który jako parametr przyjmuje Person i po prostu utworzyć new Teacher(kowalski), ale i tak w tym konstruktorze musisz pola przepisać.
  • Odpowiedz
@atestowanie2: dzięki wielkie

@DannyMurillo: trochę o co innego mi chodziło. Nie wiem czy to będzie dla Ciebie jasne.

Bo wiem, że moge zrobić tak - wpisać dajmy na to:

kowalski = new Teacher("chemistry", 20)
i potem poprzypisywać wartości : kowalski.name.firstName = "Jan" , potem kowalski.name.lastName = "Kowalski" itd.

Z tym, że chce czego innego. Chce stworzyć najpierw osobę poprzez (new Person) i dopiero potem z niej uczynić Teachera/ przypisać klase
  • Odpowiedz