V8 Hidden Classes
JavaScript 🔴 SeniorDefinition
Structure interne de V8 pour optimiser l'acces aux proprietes. Les objets avec la meme forme (memes proprietes, meme ordre) partagent une hidden class, permettant un acces rapide.
Analogie
Des formulaires pre-imprimes identiques : si tout le monde remplit les memes champs dans le meme 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
Ecrire du code monomorphique pour maximiser les optimisations JIT de V8.
Anti-pattern
Ajouter des proprietes dynamiquement dans un ordre different ou supprimer des proprietes avec delete.