Descripcion General de TypeScript 5
TypeScript 5 es un lanzamiento mayor con importantes mejoras de rendimiento y nuevas funciones. Incluye mejoras en la velocidad de compilacion, nueva sintaxis de decoradores y fortalecimiento del sistema de tipos.
Soporte Oficial de Decoradores
La nueva sintaxis de decoradores conforme a la propuesta de decoradores de ECMAScript (Stage 3) ya esta disponible.
function logged(originalMethod: any, context: ClassMethodDecoratorContext) {
const methodName = String(context.name);
return function (this: any, ...args: any[]) {
console.log(`Llamando a ${methodName} con`, args);
const result = originalMethod.call(this, ...args);
console.log(`${methodName} retorno`, result);
return result;
};
}
class Calculator {
@logged
add(a: number, b: number): number {
return a + b;
}
}
Diferencia con el pasado: El flag
experimentalDecoratorsya no es necesario y se pueden usar los nuevos decoradores estandar.
Parametros de Tipo const
Ahora es mas facil inferir tipos literales.
// Antes
function getConfig<T extends readonly string[]>(items: T): T {
return items;
}
const config = getConfig(['a', 'b', 'c'] as const);
// TypeScript 5
function getConfig<const T extends readonly string[]>(items: T): T {
return items;
}
const config = getConfig(['a', 'b', 'c']); // as const no necesario
// Tipo: readonly ['a', 'b', 'c']
Mejoras de Rendimiento
TypeScript 5 logra una aceleracion significativa mediante la optimizacion de la estructura interna.
| Elemento | Mejora |
|---|---|
| Velocidad de compilacion | 10-25% mas rapido |
| Tamano del paquete | Aproximadamente 50% reducido |
| Uso de memoria | Reducido |
Otras Nuevas Funciones
Todos los enums son tipos union
enum Color {
Red,
Green,
Blue
}
// El tipo Color se trata como Color.Red | Color.Green | Color.Blue
moduleResolution: bundler
Se ha agregado una estrategia de resolucion de modulos para bundlers modernos.
{
"compilerOptions": {
"moduleResolution": "bundler"
}
}
Puntos de Migracion
- Se recomienda
target: ES2022o superior - Considerar la migracion a los nuevos decoradores
- Aprovechar
moduleResolution: bundler
Resumen
TypeScript 5 es un lanzamiento que logra tanto la mejora de la experiencia del desarrollador como la mejora del rendimiento. Con la nueva sintaxis de decoradores y los parametros de tipo const, es posible escribir codigo mas seguro en tipos y mas expresivo.
← Volver a la lista