clausuras javascript

las clausuras nos ayudan a simular atributos privados en javascript, ya que al declarar var dentro del contesto function, no se pueden acceder a esas variables, en caso de que sean atributos publicos, solamente se declararia el atributo con this,

by Fabian Allel

JavaScript

function ClassPersona(nombre, edad, sexo){
    //porque this varia segun el contexto, y de esta forma no varia.
    var that=this;
    var _nombre=nombre;
    var _edad=edad;
    //esta serĂ­a un atributo publico
    that.sexo=sexo;
    ClassPersona.prototype.getNombre=function(){
        return _nombre;
    };
    
    ClassPersona.prototype.setNombre=function(nombre){
        _nombre=nombre;
    };
    ClassPersona.prototype.getEdad=function(){
        return _edad;
    };
    
    ClassPersona.prototype.setEdad=function(edad){
        _edad=edad;
    };    
}

var persona = new ClassPersona('Fabian', 77, 'M');
console.log(persona);
console.log(persona.getEdad());