curriculum/challenges/english/blocks/object-oriented-programming/587d7daf367417b2b2512b7f.md
Up until now you have been adding properties to the prototype individually:
Bird.prototype.numLegs = 2;
This becomes tedious after more than a few properties.
Bird.prototype.eat = function() {
console.log("nom nom nom");
}
Bird.prototype.describe = function() {
console.log("My name is " + this.name);
}
A more efficient way is to set the prototype to a new object that already contains the properties. This way, the properties are added all at once:
Bird.prototype = {
numLegs: 2,
eat: function() {
console.log("nom nom nom");
},
describe: function() {
console.log("My name is " + this.name);
}
};
Add the property numLegs and the two methods eat() and describe() to the prototype of Dog by setting the prototype to a new object.
Dog.prototype should be set to a new object.
assert(/Dog\.prototype\s*?=\s*?{/.test(__helpers.removeJSComments(code)));
Dog.prototype should have the property numLegs.
assert(Dog.prototype.numLegs !== undefined);
Dog.prototype should have the method eat().
assert(typeof Dog.prototype.eat === 'function');
Dog.prototype should have the method describe().
assert(typeof Dog.prototype.describe === 'function');
function Dog(name) {
this.name = name;
}
Dog.prototype = {
// Only change code below this line
};
function Dog(name) {
this.name = name;
}
Dog.prototype = {
numLegs: 4,
eat () {
console.log('nom nom nom');
},
describe () {
console.log('My name is ' + this.name);
}
};