Contenido del curso
Primeros Pasos
- 5

¡Hola Mundo!
06:13 min - 6

Anatomía de una variable
09:23 min - 7

Tipos de datos: Mutabilidad e inmutabilidad
10:55 min - 8

Paso por valor
11:06 min - 9

Paso por referencia
07:00 min - 10

Creación de strings
11:33 min - 11

Concatenación de strings
08:31 min - 12

Manipulación de strings
12:13 min - 13

Tipo de dato primitivo: number
09:30 min - 14

Conversión a Booleanos
05:08 min - 15

Tipos de datos primitivos: null, undefined, symbol y bigint
07:28 min - 16

Conversión de tipos: Type Casting y Coercion
04:38 min - 17

Conversión de tipos explícita e implícita
12:20 min - 18

Proyecto: Crea un perfil para redes sociales con JavaScript
07:23 min
Funciones y This
- 19

Anatomía de una función
11:39 min - 20

Preguntas a Desarrolladores Senior: ¿Por qué aprender Desarrollo Web?
02:11 min - 21

Funciones vs Métodos
10:01 min - 22

Funciones puras e impuras
11:22 min - 23

Identificador this
11:38 min - 24

Métodos bind, call y apply
10:09 min - 25

Funciones flecha y enlace léxico
10:31 min - 26

Implicaciones de duplicar código
03:19 min - 27

Funciones constructoras
10:41 min - 28

10 Tipos de funciones
01:39 min - 29

Objeto window y modo estricto
07:37 min - 30

Tipos de binding
01:11 min - 31

Expresiones vs Sentencias
04:02 min - 32

Proyecto: Crea biografías de personajes con JavaScript
12:51 min
Lógica y ciclos
- 33

Operadores de comparación
06:12 min - 34

Operadores lógicos
04:33 min - 35

Ejecución condicional: if
07:45 min - 36

Proyecto: Adivina el número
09:36 min - 37

Ejecución condicional: ternario
05:24 min - 38

Ejecución condicional: switch
12:08 min - 39

Loop: for
07:31 min - 40

Loop: forEach
03:57 min - 41

Loop: for of
04:26 min - 42

Loop: for in
07:38 min - 43

Loop: while
03:56 min - 44

Loop: do while
03:13 min - 45

Proyecto: Juego adivina la palabra
15:56 min
Fundamentos de arrays y modificación
- 46

Introducción a Arrays
09:09 min - 47

Mutabilidad e inmutabiliad de Arrays
07:56 min - 48

Modificación básica del final con push(), pop()
04:33 min - 49

Ejercicio: Stack de libros
16:03 min - 50

Modificación del principio con shift(), unshift()
10:21 min - 51

Modificación avanzada con splice(), reverse(), sort(), fill()
16:37 min - 52

Proyecto: Juego de cartas
15:37 min - 53

Preguntas a Desarrolladores Senior: Estrategias y métodos de estudio
01:10 min
Iteración de Arrays
- 54

Iteración con map() y forEach()
12:53 min - 55

Filtrado y reducción con filter() y reduce()
11:34 min - 56

Ejercicio: Calificación promedio aprobatoria
05:27 min - 57

Búsqueda de elementos con find() y findIndex()
03:52 min - 58

Ejercicio: Encuentra al ganador de una rifa
11:21 min - 59

Proyecto: Análisis de transacciones
10:55 min - 60

Proyecto: Análisis de transacciones parte 2
08:01 min
Métodos específicos y Operaciones
- 61

Unir y entrelazar con concat(), spread operator y join()
12:05 min - 62

Verificación y evaluación con every() y some()
05:15 min - 63

Métodos de búsqueda con includes(), indexOf() y lastIndexOf()
07:05 min - 64

Ejercicio: Encontrando los índices
11:09 min - 65

Crear copias con slice()
05:28 min - 66

Spread operator: casos de uso
07:11 min
Arrays multidimencionales
Clases y Objetos
- 71

Anatomia de un Objeto
06:48 min - 72

Trabajando con objetos
12:52 min - 73

Función constructora
Viendo ahora - 74

¿Qué es una clase?
06:17 min - 75

Prototipos y herencias
02:15 min - 76

Herencia en la práctica
15:38 min - 77

Prototipos en la práctica
10:42 min - 78

this en JavaScript
05:36 min - 79

Proyecto: Crea una red social
12:25 min - 80

Proyecto: Crea una red social parte 2
09:00 min
Función constructora
Resumen
¿Cómo crear múltiples objetos en JavaScript eficientemente?
Cuando comenzamos a explorar la programación en JavaScript, probablemente nos encontramos con la necesidad de crear y manejar múltiples objetos. Tan solo imaginar copiar y pegar un objeto 150 veces parece una tarea titánica y poco efectiva. Aquí entra en juego la magia de las funciones constructoras, una técnica poderosa y eficiente para generar múltiples instancias de objetos.
¿Qué es una función constructora y cómo se define?
Una función constructora en JavaScript es una función especial que se utiliza para crear múltiples instancias de un tipo de objeto. La clave es utilizar la palabra reservada function seguida del nombre de la función constructora, un nombre que convencionalmente inicia con una mayúscula. Aquí tienes un ejemplo:
function Persona(nombre, apellido, edad) { this.nombre = nombre; this.apellido = apellido; this.edad = edad; }
Los parámetros que se pasan a la función son usados para definir las propiedades del objeto. La palabra this se refiere al objeto que será creado, permitiendo así asignar las propiedades del nuevo objeto.
¿Cómo se crean instancias de un objeto usando new?
Para crear diferentes personas de manera programática, utilizamos el operador new junto con la función constructora. Este operador crea un nuevo objeto con el prototipo de la función y ejecuta la función constructora para inicializar la instancia. Aquí te muestro cómo:
const persona1 = new Persona('Juan', 'Pérez', 20); const persona2 = new Persona('Diego', 'Granda', 35);
Cada instancia es ahora un objeto único basado en la plantilla que define nuestra función constructora.
¿Cómo agregar propiedades adicionales a una instancia de objeto?
Puedes añadir propiedades individualmente a una instancia sin afectar a otras instancias creadas desde la misma función constructora. Por ejemplo:
persona1.nacionalidad = 'mexicano';
Esta nueva propiedad nacionalidad solo existe en persona1 y no en persona2 u otras instancias, a menos que se le agregue la misma propiedad de igual manera.
¿Cómo compartir métodos entre instancias?
Para añadir métodos que sean compartidos por todas las instancias de un objeto, se utiliza el objeto prototype. Este enfoque aprovecha la herencia prototípica de JavaScript, permitiendo a cada instancia acceder a métodos comunes:
Persona.prototype.saludar = function() { console.log(`Hola, me llamo ${this.nombre} ${this.apellido}`); };
Con este método saludar agregado al prototipo de Persona, todas las instancias pueden ahora usarlo:
persona1.saludar(); // Hola, me llamo Juan Pérez persona2.saludar(); // Hola, me llamo Diego de Granda
Este método se define una sola vez y está disponible para todos los objetos creados con dicha función constructora, optimizando memoria y mantenimiento.
¿Cuándo utilizar funciones constructoras?
Las funciones constructoras son útiles cuando necesitas:
- Crear múltiples objetos similares con las mismas propiedades y métodos.
- Reutilizar lógica de inicialización para varios objetos.
- Facilitar la lectura del código mediante una estructura consistente para objetos similares.
Esta técnica es especialmente útil al manipular grandes volúmenes de datos al programar en JavaScript. Con funciones constructoras, no solo optimizas el código, sino que también mantienes la escalabilidad y eficiencia de tus aplicaciones. Integramos así mayor lógica de negocio y diferenciamos cuáles propiedades deben ser compartidas y cuáles son exclusivas de una instancia.