ExpertiDict

JavaScript · Avançado · Inglês · Técnico

hidden class

/ˈhɪdən klæs/substantivo

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 diferente

Exemplos

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

Veja também

Todos os termos de JavaScript