I'm trying to use Object.Create in JavaScript. I currently have the following code:
var vehicle = {
getModel: function () {
console.log( "The model of this vehicle is.." + this.model );
}
};
var car = Object.create(vehicle, {
"id": {
value: 9,
},
"model": {
value: "Ford",
}
});
var van = Object.create(vehicle, {
"id": {
value: 10,
},
"model": {
value: "Big Van",
enumerable: true
},
"make": {
value: "Warrior",
},
"getMake": function () {
console.log( "The make of this vehicle is.." + this.make );
}
});
I've tried to add a function to van for getMake but I get the error:
TypeError: Property 'getMake' of object # is not a function when I call:
van.getMake();
Is this possible? How do you do it?
Properties created that way are not enumerable by default. This may be causing your issue.
Try this(untested):
"getMake": { value: function () {
console.log( "The make of this vehicle is.." + this.make )
}, enumerable: true };
Edit It looks like this is working because we are passing an object and not just the value. The enumerable is unnecessary.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With