Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialvishal gupta
4,920 PointsYou're going to modify the Teacher code to inherit from the Person. First, in the Teacher constructor function, call the
I am getting this error-------You don't need to set the firstName or lastName properties, the Person.call will handle that!................Please help!
function Person(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
Person.prototype.fullName = function() {
return this.firstName + " " + this.lastName;
};
function Teacher(firstName, lastName, roomNumber) {
Person.call(this,firstName,lastName);
this.firstName = firstName;
this.lastName = lastName;
this.room = roomNumber;
}
Teacher.prototype = Object.create(Person.prototype);
1 Answer
Jesus Mendoza
23,289 PointsYou don't need to define
this.firstName = firstName;
this.lastName = lastName;
inside the Teacher's object because you are already inheriting those properties from the person object using
Person.call(this, firstName, lastName)
Now, when you create an instance of Teacher, the Person.call function will be executed and you will have firstName and lastName inside your new Teacher instance because you inherited from the Person's object.
Ashu Singh
253 PointsAshu Singh
253 PointsYou should remove the default code for firstName and lastName in teacher.js because you're calling the same thing from person.js.