AD

¿Ya dominas lo básico? Un curso estructurado de JavaScript es la vía rápida para dar el salto.

Ver cursos de JavaScript en Udemy

Enlace de afiliado. No te cuesta nada extra.

🟨Lecciones de JavaScript
Lección 10 / 69

Usar clases (programación orientada a objetos)

En esta lección verás lo básico de la programación orientada a objetos con la sintaxis de clases de JavaScript, para tratar juntos los datos que comparten características. Está dirigida a quien busca «uso de clases en JavaScript» o «qué es un constructor en JavaScript».

Una clase es un «plano» para objetos con características parecidas. Defines una clase con class y usas new para crear a partir de ese plano un objeto real (una instancia). Imagina el «plano de un animal» que te permite crear tantas instancias concretas como quieras: «perro», «gato», etc. El constructor es un método especial que se llama el primero cada vez que se crea una instancia y sirve para preparar su estado inicial.

El código de ejemplo da a la clase Animal dos propiedades, nombre y sonido, y construye un mensaje con un método llamado speak(). Escribir new Animal("Perro", "Guau") crea una instancia con esa información, y perro.speak() ejecuta el proceso propio de esa instancia.

Un tropiezo habitual al empezar es entender a qué se refiere this. Dentro de una clase, this se refiere a «la instancia que se está creando en ese momento», pero resulta fácil de confundir hasta que te acostumbras. Recuerda además que intentar llamar a una clase sin new provoca un error.

En el desarrollo real, diseñar como clase los datos que representan una «cosa» —un usuario, un producto, un pedido— es la idea básica de la orientación a objetos. Cuanto más grande es la aplicación, más influye la calidad de ese diseño en el mantenimiento de todo el código, y por eso se cuida en los proyectos reales.

Una clase puede tener tantos métodos como quieras: no solo «emitir un sonido», sino también comportamientos como «comer» o «andar», todos definidos juntos. Agrupar en una sola clase los datos relacionados (propiedades) y su comportamiento (métodos) hace el código más fácil de seguir y de reutilizar.

Las clases tienen además un mecanismo llamado «campos privados» para propiedades que no quieres que se cambien directamente desde fuera. Poner # delante del nombre de la propiedad la hace inaccesible desde el exterior, lo que permite un diseño de clase más seguro.

JavaScript
SALIDA

💡 Todo lo que pases a console.log() aparece en la salida de abajo.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)