Olá pessoal!
Estou com dúvida em relação à acessibildiade dos atributos de um objeto após a inicialização do objeto. Por exemplo:
Objeto
`function Caixa() {
var id,
abertoEm,
usuario,
totalConta = 1000.00;
this.abertura = function(usuario){
this.id = Date.now();
this.abertoEm = new Date();
this.usuario = usuario;
return true;
}
this.saque = function(valor, usuario){
return totalConta - valor;
}
}
module.exports = Caixa;`
---------------------------------------------------------------------
Utilizando o objeto
var Caixa = require(’./Caixa’);
var caixa = new Caixa();
---------------------------------------------------------------------
Neste momento se tento ver os metodos e atributos do objeto tenho o seguinte retorno:
> caixa { abertura: [Function], saque: [Function]}
---------------------------------------------------------------------
Porém logo após chamar a função ‘abertura’ passando os paremetros, as variaveis do objeto se tornam visíveis:
Chamando uma função
> caixa.abertura(1); { abertura: [Function], saque: [Function], id: '1452812532191' abertoEm: '14-01-16T21:01:12' usuario: '1' totalConta: '1000.00' }
Saida do console:
Saberiam explicar, o porque dos atributos fiquerem ‘acessiveis’ após a utilização de uma função do objeto ??