Apariencia
⌨️ Comandos — TypeScript
Comandos útiles que voy aprendiendo.
🟢 Comandos base
| Comando | Qué hace | Ejemplo |
|---|---|---|
tsc --init | Crea el archivo de configuración tsconfig.json con las opciones del compilador. Se usa al iniciar un proyecto nuevo. | tsc --init |
tsc | Compila TODO el proyecto usando el tsconfig.json de la carpeta. Es la forma recomendada. | tsc |
tsc archivo.ts | Compila solo ese archivo, pero ⚠️ IGNORA el tsconfig.json (usa reglas por defecto). Busca el archivo relativo a la carpeta de la terminal. | tsc main.ts |
node archivo.js | Ejecuta el .js compilado con Node. Muestra en pantalla lo que tengas en console.log. | node main.js |
tsc archivo.ts && node archivo.js | Compila y, si salió bien, ejecuta. El && = "si el primero funcionó, corre el segundo". Un solo Enter. | tsc main.ts && node main.js |
tsc --watch | Recompila automáticamente cada vez que guardas el .ts. (Aún no lo usamos, pero existe.) | tsc --watch main.ts |
cd carpeta | Cambia la carpeta actual de la terminal (moverte dentro del proyecto). | cd "02-Ejercicios/Variable_base" |
🛣️ El camino inicial (de cero a ver el resultado)
Flujo completo cada vez que empiezo una carpeta nueva de ejercicio:
1. tsc --init → crea el tsconfig.json (SOLO la primera vez)
2. escribir código en main.ts + Cmd+S (guardar SIEMPRE)
3. tsc → compila usando el tsconfig → genera/actualiza main.js
4. node main.js → ejecuta y muestra el resultado| # | Paso | Comando | Cuándo |
|---|---|---|---|
| 1 | Crear config | tsc --init | Una sola vez por carpeta/proyecto |
| 2 | Escribir + guardar | Cmd + S | Cada vez que edito |
| 3 | Compilar | tsc | Cada vez que cambio el código |
| 4 | Ejecutar | node main.js | Para ver el resultado |
El día a día (ya con el tsconfig.json creado): el paso 1 NO se repite. Guardo con Cmd+S y corro de un tirón:
bash
tsc && node main.js⚠️ Los 3 tropiezos a evitar:
- Estar en la carpeta correcta (usa
cdhasta donde está elmain.ts).- Guardar antes de compilar (pestaña VS Code:
●= sin guardar,✕= guardado).- Usar
tsca secas, notsc main.ts(con nombre se ignora eltsconfig.json).
📌
tsc --inites solo para crear eltsconfig.jsonla primera vez. Si ya existe, no se vuelve a ejecutar: se edita a mano.
📦 Varios archivos .ts a la vez
Con tsconfig.json, tsc compila TODOS los .ts de la carpeta (y subcarpetas) de un solo golpe: genera un .js por cada uno. No hay que listarlos.
Carpeta: Corres: tsc
├── main.ts ──────▶ ├── main.js ✅
├── ejercicio2.ts ──────▶ ├── ejercicio2.js ✅
└── utils.ts ──────▶ └── utils.js ✅Pero node ejecuta uno a la vez, así que compilas todo junto y corres el que quieras:
bash
tsc # compila TODOS los .ts de un golpe
node main.js # ejecuta solo este
node ejercicio2.js # o este otro💡 Gracias a
moduleDetection: "force"del tsconfig, cada archivo es un módulo con su propio espacio:let nombreenmain.tsylet nombreenotro.tsNO chocan.
Para controlar qué se compila, en el tsconfig.json:
| Opción | Qué hace |
|---|---|
"include": ["src"] | Compila solo lo de esa carpeta |
"exclude": ["pruebas"] | Ignora esa carpeta |
"files": ["main.ts"] | Compila exactamente esos archivos |
🔁 El ciclo de trabajo en TypeScript
TypeScript no corre directo: primero se traduce a JavaScript, y Node ejecuta ese JS.
main.ts ──tsc──▶ main.js ──node──▶ salida en pantalla
(escribo) (compilado) (Hola, TypeScript!)⚠️
tscNO recompila solo. Cada vez que cambias el.ts, tienes que volver a corrertscpara actualizar el.js. Si no,nodeejecuta una versión vieja del.js. Por eso conviene usartsc main.ts && node main.jsde un tirón.
💡
tsc= TypeScript Compiler. Si te falta lac(ts,tss…), zsh respondecommand not foundporque no existe ese comando.
🧪 Entrevista: ¿Por qué Node/el navegador no entienden TypeScript directamente? Porque TS es solo para el desarrollo: añade tipos que ayudan a detectar errores, pero al final se compila a JavaScript, que es lo único que Node y los navegadores ejecutan.
🏷️ Palabras clave de tipos (referencia rápida) — Clase 2
Resumen de cómo se escriben los tipos que voy aprendiendo. (Explicación detallada en Conceptos y Clase 2.)
| Palabra clave | Cómo se escribe | Qué es |
|---|---|---|
string | let n: string = "hola" | Texto |
number | let e: number = 30 | Números |
boolean | let ok: boolean = true | Verdadero / falso |
any | let x: any | Cualquier cosa — ⚠️ apaga el chequeo, evitar |
unknown | let x: unknown | Cualquier cosa, pero obliga a comprobar antes de usar |
void | function f(): void {} | La función no devuelve nada |
never | function f(): never { throw ... } | La función nunca termina (siempre lanza error) |
T | U | let m: string | undefined | Union: puede ser un tipo u otro |
Y el operador para comprobar tipos en ejecución (no es un tipo, es de JavaScript):
| Operador | Ejemplo | Qué hace |
|---|---|---|
typeof | if (typeof x === "string") {...} | Dice el tipo real de un valor y "estrecha" (narrowing) el tipo dentro del if |
📎 Relacionado: Errores resueltos · Conceptos · Clase 2