ExpertiDict

TypeScript · Intermediário · Português · Técnico

propriedade de parâmetro

/pɾopɾjeˈdadʒi dʒi paˈɾɐ̃metɾu/substantivo feminino

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

Veja também

Todos os termos de TypeScript