¿Qué significa "as const" en TypeScript y para qué sirve?
¡Hola a todos! Empecé a estudiar TypeScript y me topé con la construcción `as const`. Entiendo que está relacionada con la aserción de tipos, pero no logro comprenderla del todo.
Aquí hay un ejemplo que me confunde:
```typescript
const colors = ['red', 'green', 'blue'] as const;
// typeof colors -> readonly ["red", "green", "blue"]
const myColor = 'red' as const;
// typeof myColor -> "red" (tipo literal, no string)
const config = {
api: 'https://api.example.com',
port: 3000
} as const;
// typeof config -> { readonly api: "https://api.example.com"; readonly port: 3000 }
```
Veo que los tipos cambian, pero no entiendo:
1. ¿Por qué simplemente `const colors = ['red', 'green', 'blue']` da el tipo `string[]`, mientras que con `as const` da una tupla con literales específicos?
2. ¿Para qué es necesario usar `as const` si la variable ya está declarada con `const`? ¿Acaso `const` no hace que el valor sea inmutable?
3. ¿En qué escenarios reales puede ser útil? He visto que se usa en acciones de Redux,
No answers yet.
Inicia sesión para dejar una respuesta