TypeScript · Avançado · Inglês · Técnico
construct signature
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'); // PessoaExemplos
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