ExpertiDict

TypeScript · Essencial · Português · Técnico

propriedade opcional

/pɾopɾieˈdadʒi opsjoˈnaw/substantivo feminino

Propriedade de interface ou tipo de objeto marcada com ?, que pode estar ausente. O tipo lido inclui undefined, e o compilador exige tratar esse caso.

Onde usar

Comum em objetos de configuração e payloads parciais, como timeout?: number. Com strict, ler cfg.timeout sem checar gera erro, o que evita que um undefined chegue sem aviso a um cálculo.

Em código

interface Config {
  url: string;
  timeout?: number;
}
const c: Config = { url: '/api' };
const t = c.timeout ?? 3000;

Exemplos

Essa propriedade opcional vem undefined quando o usuário não preenche o campo.

Marca timeout como propriedade opcional, ele já tem valor padrão.

Cuidado

Ausente não é o mesmo que presente com valor undefined: por padrão o TypeScript trata os dois do mesmo jeito, e só a flag exactOptionalPropertyTypes os separa.

Sinônimos

optional property

Antônimos

propriedade obrigatória

Veja também

Todos os termos de TypeScript