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
Viendo ahora - 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
Objeto window y modo estricto
Resumen
¿Qué es el objeto window en JavaScript?
El objeto window es fundamental en JavaScript, especialmente al trabajar en entornos de ejecución en navegadores. Es un objeto global que representa la ventana de un navegador y contiene propiedades y métodos que permiten interactuar con él. Cada vez que utilizamos this en un contexto global, generalmente se referirá a este objeto window. Esto significa que las funciones que ejecutamos sin un contexto explícito hacen referencia a las propiedades del objeto window, lo que podría llevar a comportamientos no deseados si no se maneja correctamente.
¿Cómo definir y ejecutar funciones usando el objeto window?
Definir funciones en este contexto es sencillo. Se pueden crear funciones que accedan a propiedades de window o incluso que agreguen nuevas propiedades. Por ejemplo, creamos una función favoriteCharacter que hace un log de una propiedad name de window. Aquí está cómo podría verse el código:
function favoriteCharacter() { console.log(this.name); } window.name = "Batman"; favoriteCharacter(); // La salida será "Batman"
Al ejecutar este código, se evidencia cómo this.name hace referencia a la propiedad name del objeto window, mostrando "Batman" en la consola. Esto se debe a que this en este caso es sinónimo de window porque la función fue ejecutada directamente en el contexto global.
¿Qué es el modo estricto en JavaScript?
useStrict es una directiva de JavaScript que indica al motor que ejecute el código en modo estricto. Este modo impone restricciones adicionales al lenguaje, ayudando a crear código más seguro y libre de errores al evitar prácticas defectuosas comunes. Al usar useStrict, se previene, por ejemplo, la asignación a variables sin declararlas explícitamente, lo que JavaScript normalmente permite pero es una mala práctica.
Ejemplos de uso del modo estricto
Al comenzar un script o una función con "use strict";, instruimos a JavaScript a ser menos permisivo. Esto es especialmente útil para evitar errores comunes como:
"use strict"; function faultyFunction() { undeclaredVariable = 10; // Error: undeclaredVariable no está definida } faultyFunction();
Sin useStrict, JavaScript habría permitido la creación de undeclaredVariable. Con useStrict, se genera un error, forzándonos a declarar explícitamente las variables y previniendo errores difíciles de rastrear.
Manejo de variables con const y let
El modo estricto resalta la necesidad de declarar variables con const o let. Esto no solo limpia el código, sino que también mejora su legibilidad y mantenimiento:
"use strict"; const x = 5; let y = 10; console.log(x + y); // 15
En resumen, tener un conocimiento profundo sobre el objeto window y el modo estricto es fundamental para escribir JavaScript más seguro y controlado. Integrar estas prácticas no solo mejora la calidad del código, sino que también previene errores comunes y establece una base sólida para el desarrollo avanzado con JavaScript. ¡Continúa aprendiendo y explorando las posibilidades que ofrece este increíble lenguaje!