All the methods and properties you have added to the prototype
are available as soon as you create a new object using the constructor. If you create a newtoy
object using the Gadget()
constructor, you can access all the methods and properties that are already defined, as you can see in the following code:
> var newtoy = new Gadget('webcam', 'black'); > newtoy.name; "webcam" > newtoy.color; "black" > newtoy.whatAreYou(); "I am a black webcam" > newtoy.price; 100 > newtoy.rating; 3 > newtoy.getInfo(); "Rating: 3, price: 100"
It's important to note that the prototype
is live. Objects are passed by reference in JavaScript, and therefore, the prototype
is not copied with every new object instance. What does this mean in practice? It means that you can modify the prototype
at any time, and all the objects...