ExpertiDict

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

static block

/ˈstætɪk blɑk/substantivo

Bloco static { } dentro de uma classe, executado uma vez quando a classe é definida. Permite lógica de inicialização complexa e acesso a campos privados estáticos.

Onde usar

Usado quando um campo static precisa de vários passos, como try/catch ou a leitura de outros campos para calcular um valor. Em code review, substitui código solto depois da classe.

Em código

class Reg {
  static #itens = new Map();
  static {
    Reg.#itens.set('a', 1);
  }
  static ler(k) { return Reg.#itens.get(k); }
}
console.log(Reg.ler('a')); // 1

Exemplos

I used a static block to fill the registry when the class loads.

Usei um static block para preencher o registro quando a classe carrega.

The static block runs once, when the class is defined.

O static block roda uma vez, quando a classe é definida.

Cuidado

Confundir com um método static: o bloco não tem nome, não recebe argumentos e roda só uma vez.

Sinônimos

bloco de inicialização estático

Veja também

Todos os termos de JavaScript