V8 Hidden Classes
JavaScript 🔴 SeniorDéfinition
Structure interne de V8 pour optimiser l'accès aux propriétés. Les objets avec la même forme (mêmes propriétés, même ordre) partagent une hidden class, permettant un accès rapide.
Analogie
Des formulaires pre-imprimes identiques : si tout le monde remplit les mêmes champs dans le même ordre, le traitement est ultra rapide.
Exemple de code
// Meme hidden class (optimise)
function Point(x, y) { this.x = x; this.y = y; }
const p1 = new Point(1, 2);
const p2 = new Point(3, 4);
// Hidden class differente (desoptimise)
const a = {}; a.x = 1; a.y = 2;
const b = {}; b.y = 2; b.x = 1; // ordre different!
Cas d'usage
Écrire du code monomorphique pour maximiser les optimisations JIT de V8.
Anti-pattern
Ajouter des propriétés dynamiquement dans un ordre différent ou supprimer des propriétés avec delete.