const assertion (as const)
TypeScript 🟡 MidDefinition
Assertion qui empeche le widening et rend toutes les proprietes readonly et les valeurs litterales. Transforme un objet/tableau en version profondement immutable.
Analogie
Comme graver dans le marbre — une fois ecrit, chaque detail est fige exactement tel quel.
Exemple de code
const config = {
api: "https://api.com",
retries: 3
} as const;
// type: { readonly api: "https://api.com"; readonly retries: 3 }
Cas d'usage
Creer des constantes avec des types litteraux exacts pour les discriminated unions et les lookups.
Anti-pattern
Oublier as const sur des tableaux utilises comme union — ["a", "b"] donne string[] au lieu de readonly ["a", "b"].