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
Viendo ahora - 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
14:31 min - 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
Funciones constructoras
Resumen
¿Cómo crear objetos en JavaScript usando funciones constructoras?
Cuando se trata de la creación de objetos en JavaScript, uno de los métodos más utilizados es a través de las funciones constructoras. Este enfoque no solo es efectivo, sino que también ofrece flexibilidad para personalizar y reutilizar la creación de objetos en distintos contextos. En esta sección, analizaremos cómo implementar estas funciones, cuidando cada detalle para un desarrollo sólido.
¿Cómo escribir una función constructora?
Comenzamos definiendo una función constructora escribiendo una función convencional. Es crucial seguir la convención de nomenclatura donde el nombre de la función comienza con una letra mayúscula. Dentro de esta función, empleamos la palabra clave this para establecer las propiedades del objeto que crearemos. A continuación, se explica cómo proceder:
function Rocket(name) { this.name = name; }
¿Cómo invocar la función constructora?
Para crear instancias de objetos con nuestra función constructora, utilizamos la palabra clave new. Esto indica que estamos instanciando un objeto nuevo de esa función constructora:
let falcon9 = new Rocket('Falcon 9'); let falconHeavy = new Rocket('Falcon Heavy');
¿Cómo agregar métodos a la función constructora?
Podemos enriquecer nuestra función con métodos adicionales. Por ejemplo, añadir un método para mostrar un mensaje:
this.launchMessage = function() { console.log('Lanzamiento exitoso 🚀'); } const falcon9 = new Rocket('Falcon 9'); falcon9.launchMessage();
¿Cómo personalizar funciones y mensajes?
Hacer que cada objeto refleje un mensaje personalizado añade un nivel más de flexibilidad. Aquí es donde podemos pasar parámetros adicionales a la función constructora para personalizar estos mensajes:
function Rocket(name, ownMessage) { this.name = name; this.launchMessage = function() { console.log(ownMessage); } } const falcon9 = new Rocket('Falcon 9', '¡Adiós, todos! 🌟'); falcon9.launchMessage();
¿Es posible usar arrow functions para crear objetos?
A diferencia de las funciones constructoras tradicionales, las arrow functions no permiten el uso de new. Sin embargo, aún podemos utilizarlas para retornar objetos de manera eficiente:
const createRocket = (name, ownMessage) => ({ name: name, launchMessage: () => console.log(ownMessage), }); const falcon9 = createRocket('Falcon 9', 'Lanzamiento exitoso 🔥'); falcon9.launchMessage();
¿Funcionan las arrow functions con funciones externas?
Si nuestro método es extenso, conviene externalizarlo para simplificar la estructura del código. Podemos definir las funciones por separado y referenciarlas desde el objeto creado:
const personalizedMessage = () => '¡Hasta luego, mundo! 🌍'; const createRocket = (name) => ({ name: name, launchMessage: personalizedMessage, }); const falcon9 = createRocket('Falcon 9'); falcon9.launchMessage();
Crear objetos en JavaScript a través de funciones constructoras y arrow functions no solo es una habilidad valiosa para cualquier desarrollador, sino que también es un camino hacia el dominio del lenguaje. Cada método tiene su lugar, y con creatividad, puedes desarrollar aplicaciones robustas y flexibles. ¡Sigue explorando y experimentando con JavaScript para descubrir todo su potencial!