TypeScript · Intermediário · Português · Técnico
propriedade de parâmetro
Atalho no construtor em que um parâmetro com public, private, protected ou readonly vira, ao mesmo tempo, uma propriedade da classe, já inicializada com o argumento recebido.
Onde usar
Reduz o boilerplate de classes de serviço, muito comum em Angular e NestJS com injeção de dependência. Alguns times evitam, porque é uma sintaxe que gera código e não pode ser apagada.
Em código
class Servico {
constructor(
private readonly repo: Repo,
public nome = 'padrão',
) {}
}
interface Repo { buscar(): string }Exemplos
Usei propriedade de parâmetro para injetar o repositório sem escrever atribuição.
Sem o private, o parâmetro não vira campo e some depois do construtor.
Cuidado
Sem um modificador na frente, o parâmetro continua sendo apenas uma variável local do construtor, e não uma propriedade.
Sinônimos
parameter properties