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 trialAaron HARPT
19,845 PointsCode challenge question
I am having trouble with the following code challenge:
We're adding a new method to every instance when a Monster is created. Use a prototype instead for the takeDamage method.
function Monster(name) {
this.name = name;
this.health = 100;
Monster.prototype.takeDamage = function (){
this.health--;
}
}
3 Answers
Ryan Broughan
12,742 PointsHere's the passing code:
function Monster(name) {
this.name = name;
this.health = 100;
}
Monster.prototype.takeDamage = function (){
this.health--;
}
So, you write the Monster() function so it can create the monster with all it's basic properties.
Then in a separate step, you add method(s) you want your Monster(s) to have, by adding them to the prototype.
The prototype then says "All new Monster(s) get this method".
Darryn Smith
32,043 PointsYou're doing great, the only catch is, you want to take the prototype function you wrote and move it OUTSIDE of the main monster constructor.
Ishan Vyas
30,284 Pointsfunction Monster(name) { this.name = name; this.health = 100; };
Monster.prototype.takeDamage = function (){ this.health--; }