TypeScript · Essencial · Português · Técnico
propriedade opcional
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