O TypeScript 5.7, a última versão planejada da variante JavaScript da Microsoft com sintaxe para tipos, está agora disponível como uma versão beta. Com essa atualização, o sistema de tipos da linguagem é capaz de relatar erros quando variáveis nunca foram inicializadas, resolvendo uma lacuna importante no sistema de tipos do TypeScript.
Lançado em 9 de outubro, o TypeScript 5.7 beta pode ser acessado por meio do NPM usando o comando npm install -d typescript@beta
. Com as verificações para variáveis nunca inicializadas, a equipe do TypeScript abordou uma situação em que as verificações do TypeScript para variáveis não inicializadas nem sempre funcionavam.
Por exemplo, se a variável ainda não inicializada for acessada em uma função separada, o sistema de tipos não sabe quando a função será chamada e, em vez disso, assume uma visão otimista de que a variável será inicializada. Embora o TypeScript 5.7 ainda seja tolerante com variáveis que possivelmente foram inicializadas, o sistema de tipos agora é capaz de relatar erros quando as variáveis nunca foram inicializadas.
Novos Recursos do TypeScript 5.7
Além das melhorias no sistema de tipos, o TypeScript 5.7 também traz outros recursos interessantes:
Opção de Reescrita de Extensões de Importação Relativa
Uma nova opção do compilador, --rewriteRelativeImportExtensions
, foi adicionada. Quando um caminho de importação é relativo e termina com uma extensão TypeScript (.ts
, .tsx
, .mts
, .cts
), e é um arquivo de não declaração, o compilador reescreverá o caminho para a extensão JavaScript correspondente (.js
, .jsx
, .mjs
, .cjs
). Isso permite escrever código TypeScript que pode ser executado no local e então compilado em código JavaScript quando estiver pronto.
Suporte a ECMAScript 2024
O TypeScript 5.7 oferece suporte à opção --target es2024
, permitindo que os desenvolvedores tenham como alvo os tempos de execução do ECMAScript 2024.
Melhorias no Cache de Compilação do V8
O TypeScript 5.7 agora oferece suporte ao cache de compilação V8 no Node.js, o que pode melhorar o desempenho da compilação em determinados cenários.
Comportamento Mais Consistente para Métodos em Classes
O TypeScript agora tem um comportamento mais consistente para métodos em classes quando estes são declarados com nomes de propriedades computados não literais.
Melhorias no Tratamento de Tipos Genéricos
Quando uma expressão de função é contextualmente tipada por uma assinatura que retorna um tipo genérico, o TypeScript agora fornece apropriadamente um any
erro implícito em noImplicitAny
, mas fora de strictNullChecks
.
Melhorias na Descoberta de Arquivos de Configuração
Quando um arquivo TypeScript é carregado em um editor usando o TSServer (como o Visual Studio ou o Visual Studio Code), o editor tentará encontrar o arquivo tsconfig.json
relevante que "possui" o arquivo.
Melhorias na Importação de Arquivos .json
Ao importar de um arquivo .json
no TypeScript --module nodenext
, o TypeScript agora aplicará certas regras para evitar erros de tempo de execução.
Próximos Passos
Após o beta, um release candidate para o TypeScript 5.7 está planejado para meados de novembro, logo seguido por um release estável. O TypeScript 5.7 vem logo após o lançamento de setembro do TypeScript 5.6, que apresentou recursos como a proibição de verificações de nullish e truthy na sintaxe que nunca variam em nullishness ou truthiness.
Com as melhorias no sistema de tipos e os novos recursos, o TypeScript 5.7 promete ser uma atualização empolgante para os desenvolvedores que dependem dessa poderosa ferramenta de desenvolvimento de software. Fique atento aos próximos lançamentos e aproveite os benefícios dessa nova versão.