DeriVada.
Las interfaces son la definición de la 'parte visible' de un objeto, no hace falta que sean explícitas como lo son en Java por ejemplo.
Herencias complejas? JavaScript tiene mecanismos de herencia simple, y si tenés ganas podes implementar herencia múltiple y hasta interfaces explícitas.
Por lo de Iterator, acá tenés una explicación/implementación näive:
http://blog.aijoona.com/2011/06/18/p...ript-iterator/ http://blog.aijoona.com/2011/06/25/i...e-iteraciones/
PD: Te diría que empieces leyendo sobre factories y singletons, ya que son sencillos y se relacionan con dudas que tuviste anteriormente.
PD2: Es díficil responder en tus threads, ya que no se entiende bien cual es la duda particular.