Apesar da dúvida já ter sido respondida, confesso que não entendi a diferença das soluções apresentadas.
Seguem as soluções
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!
Apesar da dúvida já ter sido respondida, confesso que não entendi a diferença das soluções apresentadas.
Seguem as soluções
Fala christiano, tudo bom?
O código procedural vem da ideia de escrever toda a lógica do sistema sem um critério de separação muito claro.
Nesse caso o aluno criou um atributo na classe que retorna a junção dos valores nome e sobrenome ao acessar objeto.obtemNomeCompleto
O problema que o Flávio levantou é que a os valores nome e sobrenome são da classe, uma solução mais bonita seria:
obtemNomeCompleto() {
return this.nome + ' ' + this.sobrenome;
}
Essa solução this.obtemNomeCompleto = nome + ' ' + sobrenome; está acoplada com o nome das variáveis que vem no construtor sendo que esses valores já foram adicionados ao objeto gerado a partir da classe Pessoa
Acho que entendi. Ou seja...a solução que só usa a concatenação está atrelada as variáveis atribuidas aos atributos, enquanto a que usa o método utiliza os atributos da classe. Seria isso?