Ejecuta cada solución en un entorno aislado. Los ejercicios simples validan la salida y los complejos usan pruebas educativas.
01
Saludo tipado
Fácil
Declara mensaje como string con el texto 'Hola desde TypeScript' y muéstralo.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
TypeScript se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Comprueba con TypeScript 5.9.3 en un único Worker lazy y ejecuta sólo el JavaScript emitido dentro del sandbox existente. No ofrece Language Service, paquetes npm ni imports de red; los módulos educativos usan un VFS acotado.
02
Conservar un literal inferido
Fácil
Declara puntos con const y valor 12 sin anotación redundante.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
TypeScript se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Comprueba con TypeScript 5.9.3 en un único Worker lazy y ejecuta sólo el JavaScript emitido dentro del sandbox existente. No ofrece Language Service, paquetes npm ni imports de red; los módulos educativos usan un VFS acotado.
03
Lista de puntuaciones
Fácil
Declara puntuaciones como number[] con 4, 7 y 9, y calcula total con reduce.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
TypeScript se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Comprueba con TypeScript 5.9.3 en un único Worker lazy y ejecuta sólo el JavaScript emitido dentro del sandbox existente. No ofrece Language Service, paquetes npm ni imports de red; los módulos educativos usan un VFS acotado.
04
Coordenada con posiciones
Fácil
Declara origen como tupla readonly [x: number, y: number] con 0, 0.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
TypeScript se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Comprueba con TypeScript 5.9.3 en un único Worker lazy y ejecuta sólo el JavaScript emitido dentro del sandbox existente. No ofrece Language Service, paquetes npm ni imports de red; los módulos educativos usan un VFS acotado.
05
Modelar un producto
Fácil
Declara producto con tipo explícito { nombre: string; precio: number } y valores 'Libro', 18.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
TypeScript se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Comprueba con TypeScript 5.9.3 en un único Worker lazy y ejecuta sólo el JavaScript emitido dentro del sandbox existente. No ofrece Language Service, paquetes npm ni imports de red; los módulos educativos usan un VFS acotado.
06
Sumar con contrato
Fácil
Implementa sumar(a, b) con parámetros number y retorno number.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
TypeScript se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Comprueba con TypeScript 5.9.3 en un único Worker lazy y ejecuta sólo el JavaScript emitido dentro del sandbox existente. No ofrece Language Service, paquetes npm ni imports de red; los módulos educativos usan un VFS acotado.
07
Formatear identificadores
Fácil
Implementa etiqueta(id: string | number) para devolver String(id) usando narrowing con typeof.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
TypeScript se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Comprueba con TypeScript 5.9.3 en un único Worker lazy y ejecuta sólo el JavaScript emitido dentro del sandbox existente. No ofrece Language Service, paquetes npm ni imports de red; los módulos educativos usan un VFS acotado.
08
Perfil reutilizable
Fácil
Declara interface Perfil con nombre string y activo boolean; crea perfil válido.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
TypeScript se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Comprueba con TypeScript 5.9.3 en un único Worker lazy y ejecuta sólo el JavaScript emitido dentro del sandbox existente. No ofrece Language Service, paquetes npm ni imports de red; los módulos educativos usan un VFS acotado.
09
Longitud segura
Fácil
Implementa longitud(texto: string | null): number devolviendo 0 para null.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
TypeScript se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Comprueba con TypeScript 5.9.3 en un único Worker lazy y ejecuta sólo el JavaScript emitido dentro del sandbox existente. No ofrece Language Service, paquetes npm ni imports de red; los módulos educativos usan un VFS acotado.
10
Duplicar una unión
Fácil
Implementa duplicar(valor: number | string): number | string; multiplica números y repite cadenas.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
TypeScript se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Comprueba con TypeScript 5.9.3 en un único Worker lazy y ejecuta sólo el JavaScript emitido dentro del sandbox existente. No ofrece Language Service, paquetes npm ni imports de red; los módulos educativos usan un VFS acotado.
11
Contador encapsulado
Fácil
Implementa Contador con valor inicial privado, incrementar(): number y consultar(): number.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
TypeScript se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Comprueba con TypeScript 5.9.3 en un único Worker lazy y ejecuta sólo el JavaScript emitido dentro del sandbox existente. No ofrece Language Service, paquetes npm ni imports de red; los módulos educativos usan un VFS acotado.
12
Consumir un tipo de otro módulo
Fácil
Importa sólo el tipo Usuario desde './modelo' y declara usuario con nombre 'Ada'.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
TypeScript se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Comprueba con TypeScript 5.9.3 en un único Worker lazy y ejecuta sólo el JavaScript emitido dentro del sandbox existente. No ofrece Language Service, paquetes npm ni imports de red; los módulos educativos usan un VFS acotado.