Propiedades y Métodos
Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy — lección 13 de 56.
Las clases en JavaScript nos permiten definir propiedades y métodos que serán compartidos por todas las instancias de la clase.
Crea una clase con propiedades:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
}Al crear una instancia, el constructor establece estas propiedades:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make); // Salida: 'Toyota'
console.log(myCar.model); // Salida: 'Corolla'Añade un método a la clase:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
getDescription() {
return `This car is a ${this.make} ${this.model}.`;
}
}Ahora podemos llamar a este método en cualquier instancia:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // Salida: 'This car is a Toyota Corolla.'Desafío
Crea una clase llamada Book en el archivo book.js con lo siguiente:
- Un constructor que acepte los parámetros
title,authorypagesy los establezca como propiedades. - Un método llamado
getInfoque devuelva una cadena con el formato: “Title: [title], Author: [author], Pages: [pages]” - Exporta la clase agregando `export` delante de la declaración `class`
Hoja de referencia
Las clases en JavaScript definen propiedades y métodos compartidos por todas las instancias.
Crea una clase con un constructor:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
}Crea una instancia usando new:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make); // Output: 'Toyota'Añade métodos a una clase:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
getDescription() {
return `This car is a ${this.make} ${this.model}.`;
}
}Llama a los métodos en las instancias:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // Output: 'This car is a Toyota Corolla.'Exporta una clase:
export class Car {
// class definition
}Pruébalo tú mismo
import { Book } from './book.js';
// Prueba (no modifiques esta parte)
const book = new Book("JavaScript Basics", "John Doe", 200);
console.log(book.getInfo());
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