TypeScript · Essencial · Português · Técnico
modificadores de acesso
Palavras public, private e protected que controlam quem pode usar um membro de classe. A checagem acontece só na compilação e some no JavaScript gerado.
Onde usar
Em code review surge a pergunta 'isso precisa ser public?'. Private e protected documentam a API da classe, mas não protegem os dados de quem ignora o compilador.
Em código
class Conta {
private saldo = 0;
protected id = 1;
public depositar(v: number) {
this.saldo += v;
}
}
// new Conta().saldo; // erro: privateExemplos
Deixei o saldo private e só exponho o método depositar.
O modificador protected deixa a subclasse acessar, mas bloqueia quem está de fora.
Cuidado
O private do TypeScript não é privacidade real, pois o campo continua acessível em runtime; para isso existe o campo com #.
Sinônimos
access modifiers