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.
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!