Avatar ·

¿Qué significa "as const" en TypeScript y cuándo usarlo?

¡Hola, colegas! Empecé a estudiar TypeScript recientemente y me topé con la construcción `as const`. Honestamente, no entiendo del todo qué hace y para qué sirve. Aquí hay un ejemplo que encontré en la documentación: ```typescript const colors = ['red', 'green', 'blue'] as const; ``` Entiendo que `as` se usa para type assertion, por ejemplo, `someValue as string`. Pero, ¿qué significa agregar `const` después de `as`? ¿En qué se diferencia de una simple declaración de array u objeto? Intenté escribir este código: ```typescript const fruits = ['apple', 'banana']; const fruitsConst = ['apple', 'banana'] as const; // ¿Cuál es la diferencia entre fruits y fruitsConst? // ¿Por qué no puedo modificar fruitsConst? ``` También noté que cuando uso `as const` con objetos, TypeScript comienza a seguir estrictamente los valores de las propiedades. Por ejemplo, si escribo: ```typescript const config = { mode: 'development' as const, port: 3000 }; ``` Entonces TypeScript no me deja...