Enum vs const Enum vs Union

TypeScript 🟡 Mid

Definition

Trois facons de modeliser un ensemble fini: enum (objet runtime), const enum (inline a la compilation, efface), union de litteraux (zero runtime). Chacune avec ses compromis.

Analogie

Enum: un panneau permanent. Const enum: un post-it qu'on retire apres lecture. Union: une regle orale connue de tous.

Exemple de code

enum Dir { Up, Down } // objet JS emis
const enum Fast { A, B } // inline, pas d'objet
type Clean = "up" | "down"; // zero runtime

Cas d'usage

Preferer les unions de litteraux pour la legerete. Enum pour l'iteration. Const enum pour la performance (avec precaution).

Anti-pattern

Utiliser des enums numeriques sans valeur explicite — l'ajout d'un membre casse les valeurs persistees.

Termes lies

#core#interview#best-practice