Patrones de diseño I: ¡¿Clases de JavaScript?!?

JavaScript realmente no tiene clases como otros lenguajes. En realidad, son funciones que están detrás de escena. Hay varias formas de crear clases.

Desafío

  • Crea una clase Book usando una función de JavaScript: que se pueda instanciar.
  • Debe tener una propiedad author y una propiedad published.

  • Crea una clase Author usando un objeto literal: singleton.

  • Debe tener una propiedad name y una propiedad books.

  • Crea una clase Publisher usando el constructor new y una función anónima: singleton.

  • Debe tener una propiedad authors y una propiedad books.

  • Crea una clase Review usando una declaración de class: que se pueda instanciar.

  • Debe tener una propiedad rating y una propiedad user.

Bonificación (opcional)

Crea una clase Bookstore usando una IIFE: singleton. Debe tener una propiedad books y una propiedad prices.

Notas

  • Todas las clases deben comenzar con letras mayúsculas.
  • Todas las propiedades de las clases deben tener valores predeterminados (iniciales).
  • Hay algunas otras formas de crear clases, pero no se incluyen en este desafío; puedes consultar la pestaña Resources para obtener más información.