ExpertiDict

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

construct signature

/kənˈstɹʌkt ˈsɪɡnətʃɚ/substantivo

Assinatura precedida por new que descreve algo que pode ser instanciado, como new (nome: string): Pessoa. Permite tipar construtores passados como valor.

Onde usar

Aparece em fábricas e injeção de dependência: uma função recebe a classe em si e cria instâncias. Sem esse tipo não dá para distinguir 'a classe' de 'uma instância da classe'.

Em código

class Pessoa {
  constructor(public nome: string) {}
}
type Fab<T> = new (nome: string) => T;
const criar = <T>(F: Fab<T>, n: string) =>
  new F(n);
const p = criar(Pessoa, 'Lia'); // Pessoa

Exemplos

The factory takes a type with a construct signature.

A factory recebe um tipo com uma construct signature.

A construct signature describes the class itself, not its instances.

Uma construct signature descreve a classe em si, não suas instâncias.

Cuidado

Não confunda o tipo da instância (Pessoa) com o tipo da classe (typeof Pessoa): a construct signature descreve o segundo.

Sinônimos

assinatura de construção

Veja também

Todos os termos de TypeScript