ExpertiDict

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

mapped type modifiers

/mæpt taɪp ˈmɑdɪˌfaɪɚz/substantivo

Prefixos + e - aplicados a readonly e ? dentro de um mapped type, para adicionar ou remover esses modificadores. -readonly e -? desfazem o somente leitura e a opcionalidade.

Onde usar

É assim que o Required é implementado e como se cria um Mutable: { -readonly [K in keyof T]: T[K] }. Útil para obter uma versão editável de um tipo congelado.

Em código

type Mutavel<T> = {
  -readonly [K in keyof T]: T[K];
};
type Cheio<T> = {
  [K in keyof T]-?: T[K];
};
type A = Mutavel<{ readonly x: number }>;
// A = { x: number }

Exemplos

Use -readonly to get a mutable copy of the type.

Use -readonly para obter uma cópia mutável do tipo.

The minus question mark makes every field required.

O menos ponto de interrogação torna todos os campos obrigatórios.

Cuidado

Sem prefixo, o modificador é adicionado; para removê-lo o - é obrigatório, e escrever readonly sozinho torna as propriedades somente leitura.

Veja também

Todos os termos de TypeScript