Porque sempre tenho que utilizar a variavel implicita this? Nao poderia declarar somente nomeAtributo ao inves de this.nomeAtributo?
E outra: porque declaro dentro do construtor os atributos? Por exemplo, em Java declara-se fora do construtor.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Porque sempre tenho que utilizar a variavel implicita this? Nao poderia declarar somente nomeAtributo ao inves de this.nomeAtributo?
E outra: porque declaro dentro do construtor os atributos? Por exemplo, em Java declara-se fora do construtor.
Tiago, boa tarde!
Nós usamos o this para indicar que nos referenciamos a mesma classe, que estamos, pois caso usássemos variáveis com o mesmo nome do atributo pode gerar uma confusão de referencia, não só para o interpretador como para o programador, veja o caso abaixo:
class Pessoa {
constructor() {
var livro;
}
ler (livro) {
livro = livro; //Olha que confusão seria
}
}Para facilitar a leitura nós usamos o this
class Pessoa {
constructor() {
let this.livro;
}
ler (livro) {
this.livro = livro; //Agora sabemos o que está sendo atribuído ao que
}
}Sobre declarar os atributos dentro do construtcor, foi uma escolha dos criadores que fez sentido também visto que, para criar(construct) o objeto também faz sentido criar seus atributos. Se algo precisa ser definido na criação do objeto, então deveria estar dentro do construtor. Mas essa é uma escolha da linguagem. Varia da abstração do criador e das sugestões dos usuários(programadores)
Espero ter ajudado e bons estudos!
Certo, muito obrigado!