JavaScript · Sección 2

Valores, tipos y conversiones

Declaraciones, tipos primitivos, objetos, ausencia de valor, igualdad, coerción y conversiones explícitas que evitan resultados sorpresivos.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Solo necesitas haber ejecutado instrucciones en la consola o en un archivo JavaScript.

02 / META OBSERVABLE

Al terminar deberías poder relacionar let, const y tipos con null y undefined y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.

04 / PREPARA EL LABORATORIO

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.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Aprenderás a razonar sobre valores, declaraciones, conversiones y ausencia sin depender de coerciones accidentales.

Al terminar podrás
  • 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
01
Declaraciones

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.

01

Usa const como opción inicial.

02

Usa let cuando la reasignación sea parte del algoritmo.

03

La mutación interna de un objeto es una decisión distinta.

Comprueba lo aprendido · 01

¿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.

02
Tipos y ausencia

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.

01

Number incluye enteros, decimales, Infinity y NaN.

02

Array.isArray distingue arreglos de otros objetos.

03

Define qué significa la ausencia en cada contrato.

Comprueba lo aprendido · 02

¿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.

03
Comparación y conversión

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.

01

Prefiere === y !==.

02

Valida Number.isFinite después de convertir números.

03

Usa ?? cuando cero y texto vacío sean valores válidos.

Comprueba lo aprendido · 03

¿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.

Resumen de la sección

Tu recorrido en tres ideas

  1. const protege el enlace; let expresa reasignación
  2. Los primitivos no cuentan la misma historia que los objetos
  3. La coerción implícita puede cambiar el significado
CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Creer que const vuelve profundamente inmutable un objeto.

ERROR 02

Usar || para valores por defecto cuando cero o cadena vacía son válidos.

DESAFÍO INTEGRADOR

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 +
Una respuesta sólida:
  • Distingue ausencia, cero y texto vacío.
  • Convierte y valida números de forma explícita.
  • No modifica el objeto recibido.