Código Javascript:
De esta manera todos los objectos creados del tipo Animal tendran el metodo setName, el cual es creado solo una vez, en contrapartida a esto se podria definir dicho metodo en el constructorVer original
function Animal(){ } Animal.prototype.setName = function(name){ //do something }
Código Javascript:
Pero ello no seria eficiente, ya que estariamos creando un metodo setName por cada objecto que instanciemos.Ver original
function Animal(){ this.setName = function(name){ //do something } }
Entonces la pregunta que cae de maduro es,
¿porque directamente no definimos todas las propiedades a traves del prototype?
Código Javascript:
Ver original
function Animal(){ } Animal.prototype.name = 'default'; Animal.prototype.age = 'default'; Animal.prototype.id = 'default'; etc.... Animal.prototype.setName = function(nombre){ this.name = nombre; }