Contenido del curso
Configuracion
¿Qué se implementó en ES6?
- 4

let, const y arrow functions en ES6
Viendo ahora - 5

Template literals en JavaScript ES6
08:11 min - 6

Parámetros por defecto en funciones ES6
05:46 min - 7

Desestructuración de arrays y objetos en JavaScript
05:33 min - 8

Spread y rest parameters en JavaScript
07:30 min - 9

Playground: Combina objetos JSON con el Spread Operator
- 10

Object literals abreviados en ES6
05:42 min - 11

Promesas en JavaScript con resolve y reject
08:09 min - 12

Clases en JavaScript con getters y setters
18:54 min - 13

Módulos en JavaScript con import y export
09:48 min - 14

Playground: Obtén una lista de películas
- 15

Generators en JavaScript: control del estado
07:19 min - 16

Playground: Generador de identificadores para michis
- 17

Método add() y encadenamiento en Sets JS
04:36 min
¿Qué se implementó en ES7?
¿Qué se implementó en ES8?
¿Qué se implementó en ES9?
¿Qué se implementó en ES10?
¿Qué se implementó en ES11?
¿Qué se implementó en ES12?
¿Qué se implementó en ES13?
Recapitulación
let, const y arrow functions en ES6
Resumen
ECMAScript 6, lanzado en junio de 2015, marcó el punto de inflexión que convirtió a JavaScript en el lenguaje dominante del desarrollo web. Aquí entenderás cómo funcionan let, const y las arrow functions, tres pilares que cambiaron la forma de escribir código moderno y que cualquier persona que programe en JavaScript necesita dominar.
Por qué ECMAScript 6 marcó un antes y un después en JavaScript
Desde su nacimiento, JavaScript fue evolucionando con versiones puntuales, pero recién en 2015 llegaron las mejoras profundas que lo posicionaron como un superlenguaje. A partir de ahí surgieron muchos de los frameworks y librerías que hoy son estándar en la industria.
La actualización trajo nuevas palabras reservadas, una sintaxis más amigable y conceptos como el block scope que cambiaron las reglas del juego frente al clásico function scope de var [00:35].
¿Qué es ECMAScript 6? Es la versión de JavaScript publicada en junio de 2015 que incorporó let, const, arrow functions, clases y otras mejoras que modernizaron el lenguaje.
Cómo funcionan let y const frente a var
En JavaScript, declarar significa crear la variable, asignar es darle un valor inicial y reasignar es cambiar ese valor después. Cada palabra reservada se comporta distinto en estas tres acciones [03:30].
Con var puedes declarar, asignar y reasignar sin restricciones. Por ejemplo, una variable lastName con valor David puede reasignarse a Óscar y el console.log mostrará el último valor [04:40].
Con let también puedes reasignar. Una variable fruit con valor apple puede pasar a kiwi sin problema [05:30]. La diferencia con var no está en la reasignación, sino en el alcance.
Con const la historia cambia: si intentas reasignar una variable animal declarada como dog a cat, el motor lanza un error inmediato [06:05]. Const protege el valor original frente a sobrescrituras accidentales.
Qué diferencia hay entre function scope y block scope
El alcance es donde una variable existe y puede ser leída. var vive dentro de toda la función donde fue declarada, lo que se conoce como function scope. let y const viven solo dentro del bloque donde nacieron, es decir, dentro de las llaves del if, for o cualquier estructura, lo que se llama block scope [08:30].
Un ejemplo claro: dentro de una función fruits que contiene un if (true), declaras tres variables.
var fruit1 = 'apple'.let fruit2 = 'kiwi'.const fruit3 = 'banana'.
Al intentar imprimirlas fuera del if, fruit1 se muestra sin problema, pero fruit2 dispara un ReferenceError: fruit2 is not defined [09:10]. Lo mismo pasaría con fruit3. Los errores aquí son tus aliados: te dicen exactamente dónde falla la referencia.
¿Cuándo debo usar const en vez de let? Usa const cuando el valor no va a cambiar durante la ejecución, como funciones, configuraciones o referencias fijas. Usa let cuando necesites reasignar el valor más adelante.
Cómo escribir arrow functions y por qué simplifican tu código
Las arrow functions son una expresión alternativa a las funciones tradicionales con sintaxis más corta y reglas particulares [11:20]. No tienen su propio this, no se usan como constructores y no acceden al objeto arguments. Están pensadas para escribir lógica concreta sin el peso de una función completa.
Una función clásica para elevar al cuadrado se vería así:
javascript function square(num) { return num * num; }
La misma lógica con arrow function y bloque explícito queda más limpia [13:00]:
javascript const square = (num) => { return num * num; };
Y si solo tienes una línea, puedes usar el return implícito, eliminar las llaves y, cuando hay un único parámetro, también los paréntesis:
javascript const square = num => num * num;
Esto se lee casi como una fórmula matemática. La recomendación práctica es declarar las arrow functions con const, porque normalmente no quieres que alguien reasigne tu función por accidente.
Cuándo conviene mantener las llaves y el return
El return implícito solo funciona con una expresión en una sola línea. Si tu función tiene varias líneas, validaciones o múltiples pasos, necesitas abrir las llaves y escribir el return de forma explícita [14:50]. Forzar el return implícito en código complejo termina haciendo lo contrario de lo que buscabas: hace el código más difícil de leer.
¿Qué ventajas tiene una arrow function frente a una función normal? Sintaxis más corta, return implícito en una línea, y no tiene su propio this, lo que evita errores comunes al trabajar con callbacks y métodos de array.
Ahora que ya tienes claras estas tres piezas, prueba reescribir alguna función vieja que tengas con var y function, y cuéntame en los comentarios qué cambios notaste al pasarla a const y arrow function.