ExpertiDict

TypeScript · Intermediário · Inglês · Técnico

indexed access type

/ˈɪndɛkst ˈæksɛs taɪp/substantivo

Sintaxe T[K] que consulta o tipo de uma propriedade de outro tipo, como Pessoa['nome'], e aceita uniões e number para obter o tipo dos elementos de um array.

Onde usar

Evita duplicar tipos ao reaproveitar o formato de um campo de interface ou o tipo dos itens de uma lista: type Item = Lista[number].

Em código

interface Pedido {
  id: number;
  itens: { sku: string; qtd: number }[];
}
type Id = Pedido['id']; // number
type Item = Pedido['itens'][number]; // objeto

Exemplos

Grab the field's type with an indexed access type.

Pegue o tipo do campo com um indexed access type.

Order['items'][number] gives me the item type.

Order['items'][number] me dá o tipo do item.

Cuidado

A chave entre colchetes é um tipo, não um valor: Pessoa[nome] com uma variável não funciona, e o certo é Pessoa['nome'].

Sinônimos

lookup type

Veja também

Todos os termos de TypeScript