Ejercicio de programación con JavaScript: Clases y objetos
0h 15m
JavaScript: Clases y Objetos. Aprende a crear una clase Library para gestionar libros usando ES2023. Implementa métodos para añadir, eliminar y consultar los libros.
Crea una clase Library
que permita gestionar una colección de libros. La clase debe tener las siguientes características:
Un campo privado
#books
que será un array para almacenar los libros.Un constructor que inicialice el array de libros vacío.
Un método
addBook(title, author, year)
que añada un nuevo libro al array. Cada libro debe ser un objeto con las propiedades: title, author, year y id (un identificador único generado automáticamente).Un método
removeBook(id)
que elimine un libro según su id. Debe devolver true si se eliminó correctamente o false si no se encontró el libro.Un método
getBooksByAuthor(author)
que devuelva un array con todos los libros de un autor específico.Un método
getTotalBooks()
que devuelva la cantidad total de libros en la biblioteca.Un método privado
#generateId()
que genere un identificador único para cada libro (puedes usar un contador o alguna otra técnica).
Debe ser posible utilizar la clase de la siguiente manera:
const library = new Library();
library.addBook("Don Quijote", "Miguel de Cervantes", 1605);
library.addBook("Cien años de soledad", "Gabriel García Márquez", 1967);
library.addBook("Rayuela", "Julio Cortázar", 1963);
library.addBook("El Aleph", "Jorge Luis Borges", 1949);
library.addBook("Ficciones", "Jorge Luis Borges", 1944);
console.log(library.getTotalBooks()); // Debería mostrar 5
console.log(library.getBooksByAuthor("Jorge Luis Borges")); // Debería mostrar un array con los dos libros de Borges
Todos los ejercicios de programación de JavaScript
Evalúa tus conocimientos con ejercicios de programación en JavaScript de tipo Test, Puzzle, Código y Proyecto con VSCode.
Array
Modificación de elementos DOM
Encapsulación
Manipulación DOM
Clases y objetos
Uso de operadores
Uso de operadores
Estructuras de control
Funciones
Excepciones
Transformación con map()
Arrays y Métodos
Transformación con map()
Funciones flecha
Async / Await
Polimorfismo
Variables
Selección de elementos DOM
API Fetch
Encapsulación
Mapas con Map
Creación y uso de variables
Polimorfismo
Tipos de datos
Promises
Estructuras de control
Pruebas unitarias
Encapsulación
Inmutabilidad y programación funcional pura
Destructuring de objetos y arrays
Mapas con Map
Funciones flecha
Polimorfismo
Herencia
Array
Transformación con map()
Gestor de tareas con JavaScript
Manipulación DOM
Funciones
Operadores avanzados
Conjuntos con Set
Funciones flecha
Async / Await
Métodos de Strings
Creación y uso de variables
Excepciones
Promises
Funciones cierre (closure)
Funciones cierre (closure)
Herencia
Prototipos y cadena de prototipos
Herencia
Estructuras de control
Selección de elementos DOM
Modificación de elementos DOM
Funciones flecha
Filtrado con filter() y find()
Funciones cierre (closure)
Callbacks
Funciones
Mapas con Map
Reducción con reduce()
Callbacks
Manipulación DOM
Introducción al DOM
Expresiones regulares
Promises
Async / Await
Eventos del DOM
Introducción a JavaScript
Async / Await
Excepciones
Promises
Selección de elementos DOM
Filtrado con filter() y find()
Callbacks
Eventos del DOM
Creación de clases y objetos Restaurante
Reducción con reduce()
Filtrado con filter() y find()
Reducción con reduce()
Conjuntos con Set
Herencia de clases
Eventos del DOM
Clases y objetos
Modificación de elementos DOM
Mapas con Map
Proyecto carrito compra agoodshop
Introducción a JavaScript
Filtrado con filter() y find()
Estructuras de control
Funciones
Reducción con reduce()
Proyecto administrador de contactos
Tipos de datos
Clases y objetos
Array
Conjuntos con Set
Tutorial para resolver este ejercicio de programación
JavaScript
Clases y objetos
Programación Orientada a Objetos