Entendiendo la palabra clave this
Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy — lección 3 de 56.
La palabra clave this en JavaScript se refiere al objeto que está ejecutando el código actualmente. Permite acceder a las propiedades y métodos del objeto actual.
Empecemos con un objeto básico:
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};En este ejemplo, cuando llamamos al método greet:
person.greet();La salida será:
Hello, my name is JohnAquí, this.name dentro del método greet se refiere a la propiedad name del objeto person.
Desafío
Agrega un método llamado getStatus al objeto player que devuelva una cadena con el nombre y la salud del jugador usando la palabra clave this.
Formato de salida esperado:"Knight has 70 health"
Hoja de referencia
La palabra clave this se refiere al objeto que está ejecutando el código en ese momento, lo que le permite acceder a sus propiedades y métodos.
Ejemplo de uso de this en un método de objeto:
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};
person.greet(); // Salida: Hello, my name is JohnDentro del método, this.name se refiere a la propiedad name del objeto person.
Pruébalo tú mismo
const player = {
name: "Knight",
health: 100,
takeDamage: function(damage) {
this.health -= damage;
},
// TODO: Agregar el método getStatus aquí que devuelva una cadena con el nombre y la salud del jugador
};
// Prueba
player.takeDamage(30);
console.log(player.getStatus()); // Debería mostrar: "Knight has 70 health"Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Programación Orientada a Objetos
1Objetos y la palabra clave this
Repaso rápido: ObjetosAgregar métodos a los objetosEntendiendo la palabra clave thisFunciones constructorasLa palabra clave newDesafío de repaso7Herencia y la palabra clave extends
HerenciaLa relación "es-un"La palabra clave extendsEl método super()Heredar propiedades y métodosDesafío de repaso13Composición vs. Herencia
La relación "tiene-un" vs. "es-un"Los límites de la herencia profundaConstrucción de objetos2Organización del código
¿Qué son los módulos?Exportar con exportImportar con importExportaciones por defecto vs. nombradas5Encapsulamiento y Acceso
EncapsulamientoCampos de clase públicos y privadosMétodos privadosDesafío de repaso8Organización del código OOP
Organizar clases en módulos11Proyecto: Un renderizador de figuras
Configuración: Clase Figura y exportaciónHerencia de la clase Círculo14Sistema de Gestión de Biblioteca
Diseño de la BibliotecaClase Libro con Composición9Métodos y propiedades estáticos
Nivel de clase vs. Nivel de instanciaPropiedades estáticasMétodos de utilidad estáticosDesafío de repaso