Clases en JavaScript: Sintaxis y Uso Práctico
Clase 6 de 20 • Curso Básico de Programación Orientada a Objetos con JavaScript
Resumen
¿Qué son las clases en JavaScript?
JavaScript, a pesar de ser un lenguaje orientado a objetos, no utiliza clases como la mayoría de los lenguajes orientados al mismo paradigma. De hecho, está basado en prototipos. Las clases en JavaScript son una sintaxis más amigable para manejar prototipos, adaptándose así a las costumbres de otros lenguajes con clases tradicionales.
Funciones de las clases de JavaScript
Cuando creamos una clase en JavaScript, usamos la palabra reservada class
. En su interior, utilizamos el método constructor
para inicializar los atributos del objeto. Este método se ejecuta automáticamente cuando creamos una instancia de la clase. Las clases nos permiten definir métodos que podemos utilizar con nuestras instancias, lo que facilita el trabajo con objetos.
class Student2 {
constructor(name, age, approvedCourses) {
this.name = name;
this.age = age;
this.approvedCourses = approvedCourses || [];
}
aprobarCurso(nuevoCurso) {
this.approvedCourses.push(nuevoCurso);
}
}
Creación y manipulación de instancias
Para crear una instancia de una clase en JavaScript, utilizamos la palabra clave new
, tal como lo haríamos en otros lenguajes de programación orientada a objetos. Esto nos permite instanciar y manipular objetos de manera intuitiva y estructurada.
const miguelito = new Student2("Miguel", 28, ["Curso de análisis de negocios", "Principios de visualización de datos"]);
miguelito.aprobarCurso("Tablón");
¿Cómo usar objetos en los parámetros de funciones?
En la programación en JavaScript, existe un patrón llamado "ROR" (recibir un objeto, retornar un objeto). Este enfoque facilita la manipulación y la expansión de parámetros en nuestras funciones, enviando un único objeto con diversas propiedades en vez de múltiples parámetros.
Parámetros como objetos
Al usar objetos como parámetros, se simplifica la extensión de las funcionalidades al no depender del orden de los argumentos. Esta técnica también permite establecer valores por defecto para ciertos atributos.
class Student2 {
constructor({name, age, email, approvedCourses = []}) {
this.name = name;
this.age = age;
this.email = email;
this.approvedCourses = approvedCourses;
}
aprobarCurso(nuevoCurso) {
this.approvedCourses.push(nuevoCurso);
}
}
const miguelito = new Student2({
name: "Miguel",
age: 28,
email: "miguelito@platico.com"
});
Al emplear esta estructura, se obtiene la flexibilidad de definir el orden de propiedades como se desee y añadir nuevas sin alterar el funcionamiento del código existente.
Ventajas del uso de clases en JavaScript
- Compatibilidad visual y sintáctica: Las clases en JavaScript recuerdan a las de otros lenguajes, lo que facilita su comprensión para programadores acostumbrados a paradigmas orientados a clases.
- Claridad en el código: Aunque internamente sigamos utilizando prototipos, la sintaxis clara de las clases mejora la legibilidad.
- Facilidad para el manejo de objetos complejos: La capacidad de trabajar con objetos como parámetros facilita la modularidad del código, permitiendo estructuras más complejas sin perder organización.
El recorrido de JavaScript con respecto a las clases expande nuestra comprensión del lenguaje al proporcionar herramientas potentes y flexibles para trabajar con objetos. Explorando estas funcionalidades, se pueden crear aplicaciones más eficientes y adaptables a diversos entornos de programación. ¡Sigue explorando el mundo de JavaScript y descubre las infinitas posibilidades que te brinda este versátil lenguaje!