DEV Community

Nathana Facion
Nathana Facion

Posted on

💎 Porque string & {} é o truque de UX/DX do TypeScript que você precisa!

📌 Muitas vezes, queremos um tipo que aceite literais específicos (para sugestão) e qualquer outra string (para flexibilidade).

O Problema:

Se você escreve type MyType = 'A' | 'B' | string, o TypeScript é "inteligente demais" e simplifica para apenas string, removendo as sugestões de 'A' e 'B'.

A Solução:

Usamos o (string & {}).
Essa interseção com o objeto vazio ({}) impede que o TS colapse a união para apenas string. Ele preserva a lista de literais para o IntelliSense, mantendo a porta aberta para qualquer outra string.

✨ Resultado final: Você ganha sugestão de código (IntelliSense) para os casos mais comuns, sem abrir mão da flexibilidade total da string. É um ganho enorme para a experiência do desenvolvedor!

Top comments (0)