JavaScript · Avançado · Inglês · Técnico
hidden class
Estrutura interna do V8 que descreve o formato de um objeto, com suas propriedades e ordem. Objetos de mesmo formato compartilham a classe oculta, o que acelera o acesso.
Onde usar
Explica dicas de desempenho em code review: inicializar todas as propriedades no construtor, sempre na mesma ordem, e evitar delete. Formatos diferentes geram classes ocultas diferentes e deixam o código mais lento.
Em código
function Ponto(x, y) {
this.x = x;
this.y = y;
}
const a = new Ponto(1, 2); // mesmo formato
const b = new Ponto(3, 4); // de a
const c = { y: 1, x: 2 }; // ordem diferenteExemplos
Initialize every field in the constructor to keep the same hidden class.
Inicialize todos os campos no construtor para manter a mesma hidden class.
Using delete on a property changes the object's hidden class.
Usar delete numa propriedade muda a hidden class do objeto.
Cuidado
Adicionar propriedades em ordens diferentes ou apagá-las com delete, o que fragmenta os formatos.
Sinônimos
shape, classe oculta