O que significa "as const" no TypeScript e quando usá-lo?
Olá, colegas! Comecei a estudar TypeScript recentemente e me deparei com a construção `as const`. Honestamente, não entendo completamente o que ela faz e para que serve.
Aqui está um exemplo que encontrei na documentação:
```typescript
const colors = ['red', 'green', 'blue'] as const;
```
Eu entendo que `as` é usado para type assertion, por exemplo, `someValue as string`. Mas o que significa adicionar `const` após `as`? Como isso difere de uma simples declaração de array ou objeto?
Tentei escrever este código:
```typescript
const fruits = ['apple', 'banana'];
const fruitsConst = ['apple', 'banana'] as const;
// Qual é a diferença entre fruits e fruitsConst?
// Por que não posso modificar fruitsConst?
```
Também notei que quando uso `as const` com objetos, o TypeScript começa a verificar rigorosamente os valores das propriedades. Por exemplo, se eu escrevo:
```typescript
const config = {
mode: 'development' as const,
port: 3000
};
```
Então o TypeScript não me permite...
No answers yet.
Faça login para deixar uma resposta