Descubra tudo sobre os recursos que esta versão mais recente do TypeScript apresenta.

TypeScript, a popular linguagem de programação da Microsoft, continua impressionando com seu último lançamento, TypeScript 5.1. Embalado com novos recursos e aprimoramentos empolgantes, esta versão promete levar sua experiência de codificação para novos alturas.

Retornos de função simplificados e tipos de acessador

Em JavaScript, quando você cria uma função e executá-lo sem encontrar uma declaração de retorno, ele retorna automaticamente o valor indefinido.

O TypeScript 5.1 introduziu um novo recurso que permite que as funções que retornam indefinido omitam completamente a instrução de retorno. Esse aprimoramento melhora a legibilidade e a concisão do código.

funçãologMessage(mensagem: corda): indefinido{
console.log (mensagem);
// Nenhuma declaração de retorno necessária aqui
}

Este exemplo usa a função logMessage para exibir uma mensagem no console. No entanto, a função não retorna nenhum valor explicitamente.

O TypeScript 5.1 apresenta um novo recurso que permite o uso de tipos não relacionados para getters e setters, desde que você forneça anotações de tipo explícitas.

Essa melhoria se mostra altamente vantajosa em situações em que você precisa impor tipos distintos para acessar e modificar uma propriedade.

aula Do utilizador {
privado _nome: corda | nulo = nulo;

definir nome (novoNome: corda) {
esse._name = novoNome;
}

pegar nome(): corda {
retornaresse._nome?? 'Desconhecido';
}
}

Neste exemplo, a classe User tem uma propriedade privada _nome propriedade que pode ser tanto um corda ou nulo. O nome setter pega uma string novo nome e atribui a _nome. O getter de nome retorna o valor de _nome se não for nulo, ou Desconhecido se for.

Isso permite impor que a propriedade name só pode ser definida com uma string, mas ao obter a propriedade name, ela pode ser uma string ou Desconhecido se ainda não foi definido.

Esse recurso permite definições de tipo mais flexíveis e expressivas, conforme mostrado no exemplo abaixo.

interface CSSStyleRule {
// Sempre lê como uma `CSSStyleDeclaration`
pegar style(): CSSStyleDeclaration;

// Só pode escrever uma `string` aqui.
definir estilo (novoValor: corda);
}

No exemplo acima, a propriedade style possui um getter que retorna uma CSSStyleDeclaration e um setter que aceita uma string. Esses tipos não estão relacionados, mas o TypeScript 5.1 permite esse tipo de definição de tipo.

Aprimoramentos do JSX

O TypeScript 5.1 apresenta vários aprimoramentos para JSX. Ele agora permite a verificação de tipo desacoplada entre elementos JSX e tipos de tag JSX, que podem ser útil para bibliotecas como redux que permitem que os componentes retornem mais do que apenas elementos JSX.

importar * como Reagir de"reagir";

assíncronofunçãoAsyncComponent() {
retornar

Carregado</div>;
}

// Isso agora é permitido:
deixar elemento = ;

Neste exemplo, o AsyncComponent function é uma função assíncrona que retorna um elemento JSX. O TypeScript 5.1 permite que você use esse tipo de função como um componente JSX, o que não era possível nas versões anteriores.

O TypeScript 5.1 também apresenta suporte para o novo JSX Transform introduzido no React 17. Isso permite que você use JSX sem importar React.

// Antes
importar Reagir de"reagir";

funçãoComponente() {
retornar

Olá, mundo!</h1>;
}

// Depois
funçãoComponente() {
retornar

Olá, mundo!</h1>;
}

No exemplo acima, a função Component retorna um elemento JSX. No TypeScript 5.1 e no React 17, você não precisa mais importar o React para usar o JSX.

Aumentos de desempenho e mudanças significativas no TypeScript 5.1

O TypeScript 5.1 apresenta várias otimizações para melhorar o desempenho, incluindo otimizações de velocidade, memória e tamanho do pacote, evitando instanciação de tipo desnecessária, verificações de caso negativo para literais de união e chamadas reduzidas para o scanner para JSDoc análise.

Aqui está um exemplo de como evitar instanciação de tipo desnecessária dentro de tipos de objeto que são conhecidos por não conterem referências a parâmetros de tipo externos e verificações mais rápidas de literais de união.

tipo União = 'a' | 'b' | 'c';

funçãoverificar(valor: União) {
// ...
}

Neste exemplo, o TypeScript 5.1 pode verificar rapidamente se um valor faz parte do tipo Union sem precisar verificar cada tipo na união.

Aqui está outro exemplo:

tipo Ponto = {x: número, você: número };

funçãotraduzir(ponto: Ponto, dx: número, di: número): Apontar{
retornar { x: ponto.x + dx, y: ponto.y + dy };
}

deixar p: Ponto = { x: 1, você: 2 };
p = traduzir (p, 1, 1);

Neste exemplo, o tipo Point é um tipo de objeto que não contém nenhum parâmetro de tipo. Ao chamar a função translate, o TypeScript 5.1 pode evitar a instanciação de tipo desnecessária, o que pode acelerar significativamente a verificação de tipo.

Adotando o TypeScript 5.1

O TypeScript 5.1 apresenta uma variedade de recursos e otimizações poderosas que revolucionam o desenvolvimento de JavaScript. De retornos de função simplificados a aprimoramentos de JSX e aumentos de desempenho, o TypeScript 5.1 permite que você escreva um código mais limpo e expressivo, melhorando a verificação de tipos e o desempenho geral.

Ao adotar o TypeScript 5.1, você pode desbloquear novas possibilidades e elevar seus projetos JavaScript a novos patamares de eficiência e inovação. Deixe o TypeScript 5.1 ser sua porta de entrada para uma experiência de desenvolvimento JavaScript mais avançada e simplificada.