Executando verificação de segurança...
1

Eu não acho que é bem assim e o merge automático da interface é bem interessante quando bem usado. Um bom exemplo:

  interface Env {
    DB_PATH: string;
    JWT: string;
  }

Esse é um caso onde eu precisei convencer ao compilador que as variáveis de ambiente JWT e DB_PATH existem na interface interna do Bun prevenindo checagem contra undefined.

Outro ponto é que o merge automático só acontece se explicitamente escrever uma interface com o mesmo nome. Se alguém faz isso antes de verificar, é no mínimo desatento...

Interfaces também são idiomáticas para firmar um contrato entre objetos, enquanto tipos são idiomáticos, bem, é óbvios...

Existe um monte de utilidade para interfaces e, obviamente não irei me aprofundar tanto assim. TypeScript por si só é bem cru no que diz respeito a tipagem, então a discussão teria um monte de exceções ou ênfases.

Carregando publicação patrocinada...