Dentro de métodos de uma classe, você pode acessar as propriedades da classe através da palavra reservada e implícita this
. Então, quando você faz this.nome
esta acessando a propriedade nome
da classe que recebeu um valor através de seu construtor.
Agora, vejamos o seguinte:
obterNomeCompleto() {
return `${this.nome} ${this.sobrenome}`;
}
O método obterNomeCompleto
esta retornando uma string, mas não é qualquer stirng, mas uma template string, novidade do ES2015.
O mesmo código sem usar template string e usando a chata concatenação ficaria assim:
obterNomeCompleto() {
return this.nome + " " + this.sobrenome;
}
Template string permite interpolar uma valor dentro da string usando ${nomeDaVariavelOuPropriedade}. Mas para funcionar, você não pode usar aspas simples ou aspas duplcas, tem que usar crase no início e no final. É assim que o JavaScript sabe diferenciar uma string normal de uma template string.
Por fim, outro exemplo que você pode fazer no terminal:
let nome = 'Flávio';
let idade = 18;
let msg = `O ${nome} tem ${idade} anos`;
alert(msg); // exibe "O Flávio tem 18 anos".
Sucesso e bom estudo Douglas.