Ejecutar TypeScript con Node

En esta clase vemos algo muy cómodo para aprender (y para hacer pruebas rápidas): puedes ejecutar los ejemplos con Node directamente, sin montar proyectos, sin bundlers y sin instalar nada extra.

La idea es simple: abres un archivo del curso, le metes algún console.log y lo ejecutas con node.

La clave: Node ya entiende parte de TypeScript

Si estás usando una versión moderna de Node (en el vídeo se menciona Node 24.x), Node ya soporta gran parte de la sintaxis de TypeScript (especialmente type annotations) y puede ejecutar archivos que contengan tipos.

Ojo: no significa que soporte todo TypeScript. Piensa en ello como: “entiende lo suficiente como para poder ejecutar muchos ejemplos del curso sin tooling adicional”.

Caso práctico: añadir logs y ejecutar

Muchos ejemplos del curso no imprimen nada, así que lo primero es meter un console.log.

Por ejemplo, en un archivo de “primitivos”:

const pais = 'España'
console.log(pais) // España

O en un ejemplo de “type narrowing” en funciones, para ver qué camino toma:

function formatDate(value: Date | string) {
  if (value instanceof Date) {
    console.log('Esto es una fecha')
    return value.toISOString()
  }

  console.log('Esto es un string')
  return new Date(value).toISOString()
}

console.log(formatDate('2025-01-01'))
console.log(formatDate(new Date()))

Ejecutar el archivo con Node

Desde tu terminal, te vas a la carpeta donde está el archivo y lo ejecutas:

node ruta/al/archivo.ts

Si tu versión de Node lo soporta: perfecto, acabas de ahorrar tiempo y fricción.

Por qué esto mola (mucho)

  • Feedback inmediato: cambias una línea, ejecutas, ves el resultado.
  • Cero instalación: ideal para aprender y experimentar.
  • Te obliga a entender qué hace el código, no a pelearte con el entorno.

Limitaciones a tener en cuenta

  • Node soporta parte de TypeScript, pero no todo.
  • Si usas características TS más avanzadas o sintaxis no soportada (como enum o namespace), te dará error y ahí sí necesitarás tooling (transpilado, TS compiler, etc.).
  • Los tipos se eliminan antes de ejecutar — Node no hace comprobación de tipos, solo strip de la sintaxis.

Mini reto

  • Elige un ejemplo del curso (por ejemplo, uno de type narrowing).
  • Añade logs para ver:
    • El valor de entrada
    • La rama que toma
    • El resultado final
  • Ejecútalo con node archivo.ts y confirma que entiendes el output.

Resumen

  • Las versiones modernas de Node pueden ejecutar archivos .ts directamente.
  • Node elimina los tipos antes de ejecutar, no los comprueba.
  • Es la forma más rápida de probar ejemplos sin configurar nada.
  • Para características avanzadas de TypeScript, seguirás necesitando el compilador de TS o herramientas como tsx.