prototypal_inheritance_solution_optimized
by upigilam
JavaScript
//prototypal inheritance
var human = {
species: "human",
create: function(values) {
var instance = Object.create(this);
Object.keys(values).forEach(function(key) {
instance[key] = values[key];
});
return instance;
},
saySpecies: function () {
console.log("species :: ", this.species);
},
sayName: function () {
console.log("Name :: ", this.name);
}
};
var musician = human.create({
species: "musician",
playInst: function () {
console.log("plays .." + this.instrument);
}
});
console.log(musician);
var will = musician.create({
name: "will",
instrument: "guitar"
});
console.log(will);