Entendendo a Palavra-chave this
Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 3 de 56.
A palavra-chave this no JavaScript refere-se ao objeto que está executando o código no momento. Ela permite que você acesse propriedades e métodos do objeto atual.
Vamos começar com um objeto básico:
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};Neste exemplo, quando chamamos o método greet:
person.greet();A saída será:
Hello, my name is JohnAqui, this.name dentro do método greet se refere à propriedade name do objeto person.
Desafio
Adicione um método chamado getStatus ao objeto player que retorne uma string com o nome e a saúde do jogador usando a palavra-chave this.
Formato de Saída Esperado:"Knight has 70 health"
Folha de consulta
A palavra-chave this refere-se ao objeto que está executando o código no momento, permitindo que você acesse suas propriedades e métodos.
Exemplo de uso do this em um método de objeto:
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};
person.greet(); // Saída: Hello, my name is JohnDentro do método, this.name refere-se à propriedade name do objeto person.
Experimente você mesmo
const player = {
name: "Knight",
health: 100,
takeDamage: function(damage) {
this.health -= damage;
},
// TODO: Adicione o método getStatus aqui que retorna uma string com o nome e a saúde do jogador
};
// Teste
player.takeDamage(30);
console.log(player.getStatus()); // Deve exibir: "Knight has 70 health"Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Programação Orientada a Objetos
1Objetos e a Palavra-chave this
Revisão Rápida: ObjetosAdicionando Métodos a ObjetosEntendendo a Palavra-chave thisFunções ConstrutorasA Palavra-chave newDesafio de Recapitulação7Herança e a palavra-chave extends
HerançaA relação "é um"A palavra-chave extendsO método super()Herdando propriedades e métodosDesafio de recapitulação10Polimorfismo
O que é Polimorfismo?Sobrescrevendo Métodos HerdadosUsando superDesafio de Recapitulação13Composição vs. Herança
A relação "tem um" vs. "é um"Os limites da herança profundaConstruindo objetos2Organizando o Código
O que são Módulos?Exportando com exportImportando com importExportações Default vs. Nomeadas5Encapsulamento e Acesso
EncapsulamentoCampos de Classe Públicos e PrivadosMétodos PrivadosDesafio de Recapitulação8Organizando Código POO
Organizar Classes em Módulos11Projeto: Um Renderizador de Formas
Configuração: Classe Shape e ExportaçãoHerança da Classe Circle14Sistema de Gerenciamento de Biblioteca
Projetando a BibliotecaClasse Livro com Composição