Repeatability of components ...
Constructor
When you create a new constructor, you will create a new instance of everything and, importantly, any changes made to the instances will only affect them, and not others.
Prototype
When you create a new object using a prototype, it will reuse the logic, and any change to the prototype chain will affect everyone else.
This is a nice explanation: prototyping and instantiating Javascript
When to use each template based on needs is a very ambiguous answer, but, nevertheless, the situation.
Think about the object, function, array that they use in JS, and it will make sense that they live in a prototype chain, like any changes we have for them that we would like to distribute - a side note: that’s why we never have to change them, as this can ruin their behavior.
The best explanation here: JavaScript constructors, prototypes, and the new keyword
Sten muchow
source share