prototype eficiente code

para un código mas eficiente, al constructor se le añade la propiedad prototype para añadir la function y no crear una funcion cada vez que se cree un nuevo objeto, asi todos los objetos comparte la misma funcion.

by Fabian Allel

JavaScript

//optimizacion de metodos constructor para eficiencia de código, se usa prototype


function Persona(nombre, apellido1, apellido2, edad){
        this.nombre = nombre;
        this.apellido1 = apellido1;
        this.apellido2 = apellido2;
        this.edad = edad;
        if(!Persona.prototype.sumarEdad){
            Persona.prototype.sumarEdad= function(){
                this.edad++;
            }
        }
}

var persona1= new Persona('Luis', 'Gallardo', 'Galaz', 27);
var persona2= new Persona('Jose', 'Allel', 'Galaz', 2);

persona1.sumarEdad();
persona2.sumarEdad();
console.log(persona1.edad);
console.log(persona2.edad);
//los dos objetos llaman a la misma funcion gracias a Objeto.prototype, que hace que no se creern funciones por cada objeto
console.log(persona1.sumarEdad==persona2.sumarEdad);