Estuve leyendo ultimamente y vi que la mayoria usa la propiedad "prototype" para definir metodos que luego podran usarse por los objetos que fueron instanciados por una funcion constructora
Código Javascript
:
Ver originalfunction Animal(){
}
Animal.prototype.setName = function(name){
//do something
}
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 constructor
Código Javascript
:
Ver originalfunction Animal(){
this.setName = function(name){
//do something
}
}
Pero ello no seria eficiente, ya que estariamos creando un metodo setName por cada objecto que instanciemos.
Entonces la pregunta que cae de maduro es,
¿porque directamente no definimos todas las propiedades a traves del prototype?
Código Javascript
:
Ver originalfunction Animal(){
}
Animal.prototype.name = 'default';
Animal.prototype.age = 'default';
Animal.prototype.id = 'default';
etc....
Animal.prototype.setName = function(nombre){
this.name = nombre;
}