JavaScript Programación Orientada a Objetos
JavaScript ·Frontend·Full Stack
Curso que profundiza en cómo modela objetos JavaScript a través de prototipos y clases modernas. Trabajas constructores, getters y setters, herencia, encapsulación con campos privados y patrones de diseño idiomáticos como Module, Factory, Observer o Singleton. Al terminar estructuras código mantenible en proyectos medianos y grandes, y llegas con base sólida a TypeScript y a cualquier framework con estado complejo.
¿Prefieres verlo en directo? Agenda una demo sin compromiso.
Formación corporativa: este curso se activa bajo pedido para tu organización. Adaptamos temario, calendario y modalidad (teleformación, aula virtual o mixto).
Contenido del curso
Lenguaje base de la web, en navegador y servidor.
-
Introducción a JavaScript Lección
-
Test de introducción a JavaScript Ejercicio
Detalles del curso
JavaScript es un lenguaje de programación versátil que ha evolucionado significativamente desde su creación. Aunque inicialmente fue diseñado como un lenguaje de scripting para páginas web, hoy en día JavaScript se utiliza en prácticamente todos los ámbitos del desarrollo de software: frontend, backend, aplicaciones móviles, desktop e incluso en Internet de las Cosas (IoT).
Una de las características más potentes de JavaScript es su capacidad para implementar la programación orientada a objetos (OOP), aunque lo hace de una manera única y diferente a otros lenguajes como Java o C#. En este curso profundizaremos en los conceptos intermedios de OOP en JavaScript, explorando tanto su modelo basado en prototipos como las modernas clases introducidas en ES6.
Fundamentos de la OOP en JavaScript
JavaScript implementa la orientada a objetos de dos formas principales:
- A través de su sistema de prototipos (presente desde sus inicios)
- Mediante la sintaxis de clases (introducida en ES6)
Ambos enfoques coexisten en el lenguaje moderno y, de hecho, las clases en JavaScript son simplemente una abstracción sintáctica sobre el sistema de prototipos subyacente.
Prototipos: El corazón de JavaScript
El sistema de prototipos es el mecanismo fundamental de herencia en JavaScript. A diferencia de otros lenguajes que utilizan clases como "planos" para crear objetos, JavaScript utiliza objetos prototipo como plantillas para otros objetos.
Cada objeto en JavaScript tiene una propiedad interna llamada [[Prototype]] (accesible mediante __proto__ o Object.getPrototypeOf()) que apunta a su prototipo. Cuando intentamos acceder a una propiedad o método de un objeto, JavaScript primero busca en el propio objeto y, si no lo encuentra, continúa la búsqueda en su prototipo, formando lo que se conoce como cadena de prototipos.
// Creación de un objeto usando el sistema de prototipos
function Persona(nombre) {
this.nombre = nombre;
}
Persona.prototype.saludar = function() {
return `Hola, soy ${this.nombre}`;
};
const ana = new Persona('Ana');
console.log(ana.saludar()); // "Hola, soy Ana"
Clases en JavaScript moderno
Con la llegada de ES6, JavaScript introdujo una sintaxis de clases más familiar para desarrolladores provenientes de otros lenguajes. Sin embargo, es importante entender que estas clases son simplemente "azúcar sintáctico" sobre el sistema de prototipos.
// La misma funcionalidad usando clases
class Persona {
constructor(nombre) {
this.nombre = nombre;
}
saludar() {
return `Hola, soy ${this.nombre}`;
}
}
const ana = new Persona('Ana');
console.log(ana.saludar()); // "Hola, soy Ana"
El contexto de ejecución y 'this'
Uno de los conceptos más desafiantes en JavaScript es el comportamiento de la palabra clave this, que determina el contexto de ejecución de una función. A diferencia de otros lenguajes, el valor de this en JavaScript no depende de dónde se define una función, sino de cómo se invoca.
const usuario = {
nombre: 'Carlos',
mostrarNombre() {
console.log(this.nombre);
}
};
usuario.mostrarNombre(); // "Carlos" - 'this' se refiere al objeto usuario
const funcionSuelta = usuario.mostrarNombre;
funcionSuelta(); // undefined - 'this' ahora se refiere al objeto global (o undefined en modo estricto)
Manejo de excepciones
El manejo de errores es fundamental en cualquier aplicación robusta. JavaScript proporciona mecanismos para capturar y gestionar excepciones mediante bloques try/catch/finally, permitiendo crear código más resiliente.
function dividir(a, b) {
if (b === 0) {
throw new Error('No se puede dividir por cero');
}
return a / b;
}
try {
const resultado = dividir(10, 0);
console.log(resultado);
} catch (error) {
console.error('Se produjo un error:', error.message);
} finally {
console.log('Esta operación ha finalizado');
}
Otros cursos de JavaScript
JavaScript asíncrono y funcional
Curso centrado en los dos pilares del JavaScript profesional: estilo funcional con funciones de orden superior y métodos sobre arrays, y asincronía con el event loop, promesas y async/await. Aprendes a coordinar varias llamadas, cancelar peticiones de forma limpia y consumir APIs REST con Fetch. Al terminar puedes incorporarte a proyectos frontend y de backend Node.js con autonomía sobre los patrones de concurrencia del lenguaje.
JavaScript DOM: manipulación y eventos
Curso centrado en lo que pasa en el navegador: cómo seleccionar elementos, modificar contenido y atributos, crear y eliminar nodos y reaccionar a eventos del usuario. Incluye formularios y validación nativa, consumo de APIs REST con Fetch y persistencia ligera con Web Storage. Al terminar puedes construir interfaces interactivas sin framework y entender qué hacen Angular, React o Vue por debajo en cualquier proyecto web.
JavaScript Sintaxis
Curso dedicado a consolidar el lenguaje base antes de tocar DOM, asincronía o frameworks. Cubre tipos primitivos y referencias, variables, operadores y coerción, estructuras de control, arrays y objetos literales con métodos modernos, funciones tradicionales y flecha, destructuring y spread/rest. Al terminar puedes leer y escribir JavaScript moderno con criterio y estás listo para abordar Angular, React, Vue o Node.js con una base profesional.
JavaScript
Curso integral del lenguaje base de la web, desde la sintaxis hasta proyectos en producción. Cubres tipos y estructuras de datos nativas, funciones y closures, programación funcional, orientación a objetos con clases y prototipos, manipulación del DOM, asincronía con promesas y async/await, testing y herramientas modernas. Terminas con autonomía para incorporarte a cualquier proyecto frontend o backend en JavaScript y como base sólida antes de cualquier framework.
¿Formación para tu equipo en esta tecnología?
Tú nos dices a quién formar y nosotros configuramos la plataforma con tu marca, damos de alta a tu gente, evaluamos las entregas con IA y te entregamos los certificados y los informes técnicos para tu gestor FUNDAE. Catálogo amplio con teleformación, aula virtual o mixto. Sin permanencia, sin coste de setup.
¿Prefieres verlo en directo? Agenda una demo.
Preguntas frecuentes
- ¿JavaScript Programación Orientada a Objetos es bonificable por FUNDAE para mi empresa?
- Puede ser bonificable cuando la acción cumple los requisitos aplicables. La plataforma aporta evidencias técnicas: seguimiento de tiempos, registro de conexiones, foros, encuestas y certificados para que tu entidad organizadora o gestoría revise la documentación.
- ¿En qué modalidades se imparte JavaScript Programación Orientada a Objetos?
- En tres modalidades: teleformación (online asíncrona), aula virtual privada en directo y mixta. Adaptamos temario, calendario y modalidad al equipo.
- ¿Se adapta JavaScript Programación Orientada a Objetos al nivel de mi equipo?
- Sí. Adaptamos temario, calendario y modalidad al nivel y al stack del equipo, con ejercicios evaluados por IA y certificado verificable.
- ¿Cuánto tarda en activarse para mi empresa?
- La activación corporativa estándar es rápida, sin coste de setup ni permanencia.