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
Viendo ahora - 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
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
Tipos de datos: Mutabilidad e inmutabilidad
Resumen
¿Qué son los tipos de datos en JavaScript?
Comprender los tipos de datos en JavaScript es esencial para todos los desarrolladores que deseen aprovechar al máximo esta versátil herramienta. Este lenguaje de programación ofrece tanto tipos de datos primitivos como complejos, cada uno con características únicas que afectan la forma en que manejamos y manipulamos información. Desde números y cadenas de texto hasta booleanos y objetos, cada tipo de dato posee propiedades determinadas que deben ser comprendidas e implementadas correctamente para asegurar el funcionamiento efectivo del código.
¿Cuáles son los tipos de datos primitivos en JavaScript?
Los tipos de datos primitivos en JavaScript son aquellos que se consideran inmutables, es decir, no se pueden cambiar una vez que se han creado. A continuación, se presentan los tipos primitivos indispensables:
- String: Utilizado para representar cadenas de texto.
- Number: Empleado para valores numéricos.
- Boolean: Representa un valor de verdad, ya sea
trueofalse. - Null: Indica la ausencia intencionada de un valor.
- Undefined: Representa una variable que aún no ha sido asignada a un valor específico.
- Symbol: Se utiliza para valores únicos.
- BigInt: Permite manejar números enteros grandes.
¿Cómo se comportan los tipos de datos primitivos?
Los tipos de datos primitivos son inmutables. Esto significa que al realizar operaciones o asignaciones, el valor original no se modifica; en lugar de ello, se crea una nueva instancia. Por ejemplo, al sumar un número, como en el siguiente código:
let numero = 23; numero = numero + 10; console.log(numero); // Salida: 33
El valor inicial de numero (23) no se alteró; JavaScript generó un nuevo valor (33).
¿Qué caracteriza a los tipos de datos complejos?
Los tipos de datos complejos son mutables y se pasan por referencia. Los tres principales tipos son:
- Objetos (Objects): Colección dinámica de pares de clave-valor.
- Arrays: Listas ordenadas de valores.
- Funciones: Función reusable que puede modificar el estado de objetos.
¿Cómo trabajan los tipos de datos complejos con la mutabilidad?
Estos tipos de datos permiten modificar directamente el valor original, afectando así a todas las referencias que puedan tener acceso al mismo. Por ejemplo, al alterar un objeto o un array, como a continuación:
let usuario = { nombre: "Pepito", edad: 15 }; usuario.edad = 20; console.log(usuario); // Salida: { nombre: "Pepito", edad: 20 }
El valor de edad se cambia a 20, modificando el propio objeto. Este comportamiento se extiende a los arrays y las funciones, donde se pueden actualizar elementos y resultados según la referencia directa.
¿Cómo funcionan las funciones respecto a la mutabilidad?
Las funciones pueden actuar como herramientas eficientes para modificar el estado interno de objetos. Al cambiar la propiedad interna de un objeto pasado como argumento, se altera directamente su referencia en memoria:
function cambiarNombre(objeto) { objeto.nombre = "Antonio"; } let persona = { nombre: "Pepito" }; cambiarNombre(persona); console.log(persona); // Salida: { nombre: "Antonio" }
Esta manipulación directa muestra cómo las funciones pueden operar sobre elementos complejos, resaltando la importancia de las referencias y su efecto en la integridad de los datos.
El dominio de los tipos de datos y sus comportamientos es esencial para desarrollar aplicaciones robustas. Comprender cómo se almacenan y manipulan los datos te proporcionará herramientas para escribir código más eficiente y menos propenso a errores, ampliando así tus capacidades como desarrollador competente de JavaScript. Sigamos desafiante el mundo del código, ¡aprendiendo y creciendo en el camino!