Yo no vivo en el pasado. Yo vivo en el presente; por lo tanto dije Javascript ES, y no javascript ERA.
Javascript es multiparadigma. Es un lenguaje imperativo, orientado a objetos, y funcional. Cada uno programa como quiere o puede, aunque la tendencia es su vertiene POO.
Confundes la programación orientada a objetos, con la programación orientada a objetos mediante clases. Existen otras formas de programación orientada a objetos, por ejemplo por prototipado débilmente tipado, que es la que usa javascript. No sufras más, que en la versión que viene meterán POO clásico mediante clases.
Javascript cumple todos los requisitos que necesita un lenguage para poder denominarse como POO. E incluye otras caracterísitcas que son impensables en otros lenguajes POO.
Todos los tutoriales de crowford que expones son simplemente cómo usar el prototipado y las closures para emular las clases de java. Punto.
Mira qué "técnicas" proporciona javascript para crear objetos:
https://developer.mozilla.org/es/doc...lobales/Object
Yo no veo ahí ni técnicas raras, ni misterios, ni nada de lo que dices. Simplemente no son clases. Son prototipos y closures.