TypeScript · Intermediário · Inglês · Técnico
indexed access type
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]; // objetoExemplos
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