Solo necesitas haber ejecutado instrucciones en la consola o en un archivo JavaScript.
Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.
Ubícate antes de avanzar
Al terminar deberías poder relacionar let, const y tipos con null y undefined y resolver un caso nuevo.
Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.
Utiliza un navegador con herramientas de desarrollo y una versión LTS de Node.js con npm. Angular y MongoDB se preparan cuando llegues a esos bloques.
Abrir la guía de herramientas →Diagnóstico rápido: ¿cómo se relacionan let, const y tipos y null y undefined? +
No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.
Aprende el tema paso a paso
Aprenderás a razonar sobre valores, declaraciones, conversiones y ausencia sin depender de coerciones accidentales.
- const protege el enlace; let expresa reasignación
- Los primitivos no cuentan la misma historia que los objetos
- La coerción implícita puede cambiar el significado
const protege el enlace; let expresa reasignación
const impide apuntar la variable a otro valor, pero no vuelve inmutable un objeto. let corresponde a un enlace que cambiará. Evitar var reduce sorpresas de alcance y elevación; declarar cerca del uso vuelve visible el tiempo de vida de cada dato.
Usa const como opción inicial.
Usa let cuando la reasignación sea parte del algoritmo.
La mutación interna de un objeto es una decisión distinta.
¿const cesta = [] impide ejecutar cesta.push("x")?
Mostrar respuesta +
No. Impide reasignar cesta, pero el arreglo sigue siendo mutable. Para evitar mutación debes controlar las operaciones o crear nuevos valores.
Los primitivos no cuentan la misma historia que los objetos
JavaScript tiene string, number, bigint, boolean, symbol, undefined y null como primitivos; todo lo demás es objeto. undefined suele representar ausencia no asignada y null una ausencia intencional acordada por el programa. typeof null devuelve "object" por compatibilidad histórica, no porque null sea un objeto útil.
Number incluye enteros, decimales, Infinity y NaN.
Array.isArray distingue arreglos de otros objetos.
Define qué significa la ausencia en cada contrato.
¿Por qué typeof null no basta para decidir si recibiste un objeto válido?
Mostrar respuesta +
Porque devuelve "object" por una particularidad histórica. Debes comprobar value !== null y, si corresponde, su forma o propiedades.
La coerción implícita puede cambiar el significado
El operador === compara sin convertir tipos y es la opción habitual. Number, String y Boolean hacen conversiones explícitas. Los valores falsy ayudan en condiciones, pero usar !valor para validar puede confundir cero o cadena vacía con ausencia; ?? solo reemplaza null y undefined.
Prefiere === y !==.
Valida Number.isFinite después de convertir números.
Usa ?? cuando cero y texto vacío sean valores válidos.
¿Por qué "5" + 1 produce "51"?
Mostrar respuesta +
Porque + también concatena y convierte el número a texto cuando uno de los operandos es string. Convierte explícitamente si necesitas una suma numérica.
Tu recorrido en tres ideas
- const protege el enlace; let expresa reasignación
- Los primitivos no cuentan la misma historia que los objetos
- La coerción implícita puede cambiar el significado
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Creer que const vuelve profundamente inmutable un objeto.
Usar || para valores por defecto cuando cero o cadena vacía son válidos.
Ahora hazlo sin guía
Normaliza una entrada de producto con nombre, precio, stock y descuento opcional sin depender de coerciones implícitas.
Mostrar pauta de corrección +
- Distingue ausencia, cero y texto vacío.
- Convierte y valida números de forma explícita.
- No modifica el objeto recibido.
