Private / Protected JS / jQuery Property

4

Is it possible to make an object in js / jQuery where it is only visible using the method, for example get / set? An example of an object:

If I give a console.log(pessoa.documeto) , it will display the values, but what I wanted to see is whether it exists to leave it 'private' or 'protected' just like PHP and others.

var pessoa = {
        nome    : '' , //Publico
        idade   : '' ,  //Publico
        documentos : [
                //Protegido / Privado
                {
                    CPF : {
                num         : '' , 
                dataemissao : '' ,
                ufemissao   : '' ,
                obrigatorio : true ,
                status      : ''
            } ,
            RG : {
                num : '' ,
                dataemissao : '' ,
                ufemissao   : '' ,
                obrigatorio : '' ,
                status      : false
            }
                }
        ] ,
        parentes : [
                {
            pai : {
                nome    : ''    ,
                idade   : ''    ,
                cpf     : ''    ,
            } ,
            mae : {
                nome    : ''    ,
                idade   : ''    ,
                cpf     : ''    ,
            },
            irmaos : [
                {
                    nome : ''   ,
                    idade : ''  ,
                    cpf : ''
                }
            ]
               }
        ] ,
        //Metodos
        get : function(propriedade){
            /*
            * Pega a propridade e tal,
            * mas nao vou descrever isso aqui agora =D
            */
        } ,
        set : function(proriedade , valor){
            /*
            * Seta a propriedade e bla, bla, bla...
            */
        }
     };
    
asked by anonymous 05.11.2014 / 19:28

1 answer

5

The simplest way is to use a function to generate the object. All values that should be private would be variables visible only within the scope of this function. The getter and the setter would be other functions in the same scope, and with access to those variables via

05.11.2014 / 19:47