Elements Kinds
Se você usa arrays no JavaScript, o motor V8 está tomando decisões por trás dos panos que podem deixar seu código MUITO mais rápido… ou MUITO mais lento. E a maioria das pessoas nem percebe 👇 📌 O...

Source: DEV Community
Se você usa arrays no JavaScript, o motor V8 está tomando decisões por trás dos panos que podem deixar seu código MUITO mais rápido… ou MUITO mais lento. E a maioria das pessoas nem percebe 👇 📌 O segredo: *Elements Kinds* O V8 classifica seus arrays internamente para otimizar execução. Mas essa otimização depende totalmente de como você usa o array. 🔑 Tipos que o V8 usa 🟢 SMI (inteiros) → mais otimizado [1, 2, 3] 🟡 DOUBLE (float) [1, 2.5] 🔴 GENERIC (misturado) → pior cenário [1, "a", {}] ⚠️ Armadilha crítica (quase ninguém fala disso) A evolução é irreversível: SMI → DOUBLE → GENERIC const arr = [1, 2, 3]; arr.push(1.5); // já piorou arr.push("x"); // pior ainda 👉 Depois disso, não tem volta. 📦 PACKED vs HOLEY 🚀 PACKED (rápido) → sem buracos [1, 2, 3] 🐢 HOLEY (lento) → com buracos const arr = [1, 2, 3]; arr[10] = 5; 👉 Isso força o V8 a fazer mais checks internos. ⚡ O que destrói sua performance Misturar tipos no mesmo array Criar arrays esparsos (buracos) Mudar o tipo ao lon