JavaScript puede ser confuso para los desarrolladores acostumbrados a lenguajes basados en clases.
JavaScript es un lenguaje dinámico y no tiene una implementación de clases (aunque class es una palabra reservada)
Cuando se trata de herencia, JavaScript sólo tiene la estructura de objetos. Cada objeto tiene un lazo a otro objeto llamado prototype