...el Prototype Pattern es bien empleado cuando todas las instancias de un objeto van a compartir una propiedad que tenga el mismo valor...de esta forma cuando creas instancias de un objeto, dicha propiedad existe solamente en el prototype y no en la instancia...
Código Javascript
:
Ver originalfunction Animal(){
}
Animal.prototype.name = 'perro';
var perro1 = new Animal();
var perro 2 = new Animal();
console.log(perro1.hasOwnProperty("name")); // retornará false
...para que dicha propiedad exista en la instancia deberias sobre escribir la propiedad del prototype
Código Javascript
:
Ver originalperro1.name = "gato";
console.log(perro1.hasOwnProperty("name")); // retornará true
...pero de esta forma se perdería el motivo o fin de usar el Prototype Pattern
...por ello la forma mas común de definir objetos es usando el Constructor Pattern y el Prototype Pattern. Por medio del Constructor Pattern defines las propiedades de instancia, y por medio del Prototype Pattern defines los métodos y propiedades compartidas