ExpertiDict

TypeScript · Avançado · Inglês · Técnico

exact optional property types

/ɪɡˈzækt ˈɑpʃənəl ˈpɹɑpɚti taɪps/substantivo

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 };   // ok

Exemplos

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

Veja também

Todos os termos de TypeScript