Menu
Coddy logo textTech

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.'
challenge icon

Desafío

Crea una clase llamada Book en el archivo book.js con lo siguiente:

  1. Un constructor que acepte los parámetros title, author y pages y los establezca como propiedades.
  2. Un método llamado getInfo que devuelva una cadena con el formato: “Title: [title], Author: [author], Pages: [pages]”
  3. 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());
quiz iconPonte a prueba

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