TypeScript 5.7 Beta: Melhorias no sistema de tipos e novos recursos

TypeScript 5.7 Beta: Melhorias no sistema de tipos e novos recursos

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.

Conteúdo Relacionado

O Rails 8 está pronto para redefinir o Desenvolvimento Web
O Rails 8 sempre foi um divisor de águas...
Tecnologias essenciais para o Desenvolvimento de Aplicativos Web
Os aplicativos da Web são uma pedra fundamental da...
Dominando o java.lang.OutOfMemoryError: Metaspace - Diagnóstico e Soluções Eficazes
Os desenvolvedores Java enfrentam uma variedade de erros relacionados...
A Meta do Design
Com várias décadas de experiência, adoro criar aplicativos corporativos...
Escalabilidade do MySQL 5.7: Entendendo os Desafios e Soluções
A escalabilidade é um fator crítico quando se trata...
Gerenciando Testes Automatizados com Selenium WebDriver e TestNG
Ao trabalhar em um projeto de código aberto no...
A Importância da Inteligência Artificial Explicável (XAI) para Desenvolvedores
A Inteligência Artificial (IA) tem se tornado cada vez...
Modernização da Plataforma de Dados: Superando Desafios e Impulsionando a Inovação
A maioria das organizações enfrenta desafios ao se adaptar...
Quando os Bugs Aparecem, Nós Precisamos Entender os Logs
Quando nós, desenvolvedores, encontramos alguns bugs em nossos logs,...
A Importância da Cibersegurança para Empresas
A cibersegurança é um tópico cada vez mais importante...
A Experiência do Desenvolvedor (DX) com o Stalactite
A experiência do desenvolvedor (DX) é um tópico cada...
Entendendo Distribuições Multimodais em Testes de Desempenho
Ao relatar estatísticas resumidas para resultados de testes de...
O Poder dos Plugins no Kernel Semântico: Desbloqueando o Verdadeiro Potencial da IA Generativa
Explorando as Engrenagens do Kernel Semântico Falei um pouco...
REST: Uma Abordagem Revolucionária para Arquitetura de Software
A arquitetura de software evoluiu drasticamente nas últimas décadas,...
Como Prevenir Alucinações em Aplicativos GenAI com Streaming de Dados em Tempo Real
Como você previne alucinações de grandes modelos de linguagem...
O Jardim Digital: Cultivando Sua Presença Online
O conceito de "jardim digital" tem ganhado cada vez...
Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.