Ejercicio de programación con TypeScript: Propiedades y métodos
Código
0h 15m
TypeScript: Aprende a gestionar libros con propiedades y métodos. Implementa una clase Library siguiendo las últimas tendencias de programación.
Desarrolla una clase Library
en TypeScript que gestione una colección de libros. La clase debe tener las siguientes características:
- Una propiedad readonly
name
que almacene el nombre de la biblioteca. - Una propiedad
books
que sea un array de objetos, donde cada objeto represente un libro con las propiedades:id
(number),title
(string),author
(string) yavailable
(boolean). - Una propiedad opcional
location
de tipo string. - Un constructor que reciba el nombre de la biblioteca y opcionalmente la ubicación.
- Un método
addBook
que reciba título, autor y devuelva el id del nuevo libro añadido (los ids deben ser secuenciales empezando por 1). - Un método
borrowBook
que reciba un id de libro y devuelva un boolean indicando si la operación fue exitosa (solo se puede prestar un libro si está disponible, cambiando su estado a no disponible). - Un método
returnBook
que reciba un id de libro y devuelva un boolean indicando si la operación fue exitosa (solo se puede devolver un libro si no está disponible, cambiando su estado a disponible). - Un método
getAvailableBooks
que devuelva un array con los títulos de todos los libros disponibles.
Implementa la clase con todas las propiedades y métodos descritos, usando los tipos adecuados.
Todos los ejercicios de programación de TypeScript
Evalúa tus conocimientos con ejercicios de programación en TypeScript de tipo Test, Puzzle, Código y Proyecto con VSCode.
Funciones
Test
Reto composición de funciones
Código
Reto tipos especiales
Código
Reto tipos genéricos
Código
Módulos
Test
Polimorfismo
Código
Funciones TypeScript
Código
Interfaces
Puzzle
Funciones puras
Puzzle
Reto namespaces
Código
Funciones flecha
Puzzle
Polimorfismo
Test
Operadores
Test
Conversor de unidades
Proyecto
Funciones flecha
Test
Control de flujo
Código
Herencia
Puzzle
Clases
Puzzle
Proyecto validación de tipado
Proyecto
Clases y objetos
Código
Encapsulación
Test
Herencia
Test
Proyecto sistema de votación
Proyecto
Reto genéricos con clases
Código
Inmutabilidad
Puzzle
Interfaces
Test
Funciones de alto orden
Test
Reto map y filter
Código
Control de flujo
Test
Interfaces
Código
Reto funciones orden superior
Código
Herencia y clases abstractas
Código
Reto tipos mapped
Código
Herencia de clases
Código
Reto funciones puras
Código
Variables y constantes
Puzzle
Introducción a TypeScript
Test
Reto testing unitario
Código
Funciones de primera clase
Puzzle
Clases
Test
OOP y CRUD en TypeScript
Proyecto
Interfaces y su implementación
Código
Tipos genéricos
Test
Namespaces
Test
Proyecto calculadora gastos
Proyecto
Operadores y expresiones
Código
Proyecto generador de contraseñas
Proyecto
Reto unión e intersección
Código
Encapsulación
Puzzle
Tipos de unión e intersección
Test
Tipos de unión e intersección
Puzzle
Reto hola mundo en TS
Código
Variables y constantes
Código
Funciones puras
Test
Control de flujo
Código
Introducción a TypeScript
Código
Resolución de módulos
Test
Control de flujo
Puzzle
Reto tipos de utilidad
Código
Reto tipos literales y condicionales
Código
Reto exportar e importar
Código
Tipos de utilidad
Test
Clases y objetos
Código
Tipos de datos, variables y constantes
Código
Proyecto Minigestor de tareas
Proyecto
Operadores
Puzzle
Funciones flecha y contexto
Código
Funciones
Puzzle
Reto type aliases
Código
Funciones de alto orden
Puzzle
Funciones y parámetros tipados
Código
Tipos literales
Puzzle
Reto enums
Código
Tipos de utilidad
Puzzle
Modificadores de acceso y encapsulación
Código
Polimorfismo
Puzzle
Tipos genéricos
Puzzle
Reto módulos
Código
Tipos literales
Test
Inmutabilidad
Test
Proyecto Generator de datos
Proyecto
Variables y constantes
Test
Funciones de primera clase
Test
Tutorial para resolver este ejercicio de programación
TypeScript
Propiedades y métodos
Programación Orientada a Objetos