1
resposta

JavaScript OO - Dúvida de atributo 'privado'.

considerando:

function Usuario(){
    nome = 'mathias';
    this.getNome = function (){
        return nome;
    }
}

para:

const mathias = new Usuario()
console.log(mathias.getNome());

Acredito que esse código permite que eu crie um objeto que possui atributos 'privados' e métodos não-privados. Minha pergunta é: Qual a diferença entre declarar meu atributo 'nome' com const/let/var ou sem colocar nada?

Obrigado. :D

1 resposta

Quando você cria uma variável sem o const/let/var ela será do escopo global, ou seja, qualquer função terá acesso a mesma. Em Javascript não existem atributos privados, o que existe é uma convenção que diz que todos atributos com underline no início do nome não podem ser acessados por funções de fora do objeto.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software