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 trialMUZ140995 Portia Mazonde
6,454 PointsYou're going to modify the Teacher code to inherit from the Person. First, in the Teacher constructor function, call the
I don't know where what im doing wrong. stuck for days
function Person(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
Person.prototype.fullName = function() {
return this.firstName + " " + this.lastName;
};
function Teacher(firstName, lastName, roomNumber) {
this.firstName = firstName;
this.lastName = lastName;
this.room = roomNumber;
}
function Teacher(firstName, lastName, roomNumber){
Person.call(this, firstName, lastName);
this.roomNumber = roomNumber;
}
1 Answer
Gunhoo Yoon
5,027 PointsThe point is refactoring common property between Person and Teacher.
function Teacher(firstName, lastName, roomNumber) {
/*
*Teacher needs name Person has name, finally Teacher is Person
*So there is no logical barrier which prevents us from extending Teacher based on Person.
*this.firstName = firstName;
*this.lastName = lastName;
*/
Person.call(this, firstName, lastName);
this.room = roomNumber;
}
//Now we inherit from Person's prototype which has fullName() method.
//Roughly and crudely speaking this is just copying and overloading one prototype to another.
//Fixed this line. Now it will work.
Teacher.prototype = Object.create(Person.prototype);
Check this one of the best video, skip to 50:25 Douglas Crockford talks about object inheritance
MUZ140995 Portia Mazonde
6,454 PointsI'm still not passing this challenge. Can you please post the code that worked for you.
Sergey Podgornyy
20,660 PointsHope this will help - https://teamtreehouse.com/community/youre-going-to-modify-the-teacher-code-to-inherit-from-the-person-first-in-the-teacher-constructor-function-call-the
or this - https://teamtreehouse.com/community/im-stuck-please-help-2
or this - https://teamtreehouse.com/community/objectorientated-js-challenge-task-1-of-2-please-help
Gunhoo Yoon
5,027 PointsGunhoo Yoon
5,027 PointsAh sorry! I put unnecessary new operator by accident.
I'll make it cleaner without comment