TypeScript · Avançado · Inglês · Técnico
recursive types
Tipos que se referem a si mesmos na própria definição, usados para modelar estruturas aninhadas de profundidade arbitrária, como JSON, árvores e menus.
Onde usar
Aparecem ao tipar JSON, árvores de arquivos ou comentários aninhados. Desde o TS 3.7, aliases recursivos funcionam diretamente em arrays e objetos.
Em código
type Json =
| string
| number
| boolean
| null
| Json[]
| { [chave: string]: Json };
const j: Json = { a: [1, { b: null }] };Exemplos
A JSON value is a recursive type.
Um valor JSON é um tipo recursivo.
The recursive type hit the depth limit on deep trees.
O tipo recursivo estourou o limite de profundidade em árvores fundas.
Cuidado
Recursão em tipos condicionais ou template literals sem condição de parada estoura o limite de profundidade e gera o erro 'excessively deep'.
Sinônimos
tipos recursivos