TypeScript · Avançado · Inglês · Técnico
exact optional property types
Flag exactOptionalPropertyTypes que distingue propriedade ausente de propriedade com valor undefined: um campo cor?: string não aceita cor: undefined, a menos que isso seja declarado.
Onde usar
Útil em APIs em que 'ausente' e 'undefined' têm significados diferentes, como num PATCH. Fica fora do strict e quebra muito código existente.
Em código
// com "exactOptionalPropertyTypes": true
interface Op { cor?: string }
const a: Op = {}; // ok
// const b: Op = { cor: undefined }; // erro
interface Op2 { cor?: string | undefined }
const c: Op2 = { cor: undefined }; // okExemplos
Exact optional property types rejects an explicit undefined.
O exact optional property types rejeita um undefined explícito.
We use it because a missing field means keep the old value.
Usamos porque campo ausente significa manter o valor antigo.
Cuidado
Para permitir undefined de forma explícita, escreva cor?: string | undefined; sem isso, passar undefined vira erro.
Sinônimos
exactOptionalPropertyTypes