JavaScript orientado a Objetos, basado en prototipos

Las clases en JavaScript no son iguales a otros lenguajes de programación. Los lenguajes de programación suelen estar orientados a objetos y basados en clases, mientras que en JavaScript está orientado a objetos y basado en prototipos.

Untitled

En JavaScript hay multiples formas de crear objetos y todos los objetos están construidos con prototipos.

Lenguaje basado en clases

Se basan en el concepto de entidades o clases

Lenguaje basado en prototipos

No hace las mismas distinciones que los lenguajes basados en clases, simplemente tiene objetos.

<aside> 📌 En un lenguaje basado en prototipos puedo crear dos objetos a partir del mismo prototipo y añadirle una propiedad a uno de ellos que no necesariamente va a tener el otro objeto. Mientras que en uno basado en clases cada objeto tendrá las mismas propiedades siempre.

</aside>

Qué es programación orientada a objetos

La programación orientada a objetos (POO; en español o OOP, según sus siglas en inglés) es un paradigma de programación donde cada elemento del proyecto es visto como un objeto y todo lo relacionado con este objeto debe vivir dentro de este objeto. Los objetos se utilizan como metáfora para emular las entidades reales del negocio a modelar.

Un paradigma NO es mejor que otro, depende de la situación y el contexto.

Cada lenguaje puede trabajar con 1 o varios paradigmas.