BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias TypeScript 2.1: com suporte à async/await

TypeScript 2.1: com suporte à async/await

Favoritos

A Microsoft lançou recentemente o TypeScript 2.1, trazendo diversas funcionalidades que auxiliam a reduzir a quantidade de código e aumentar a legibilidade. Além disso, não é mais necessário o uso do Babel para gerar código ES5 para as funcionalidades async/await.

Antes deste release, o TypeScript já suportava a funcionalidade async/await, mas somente para gerar código ES2015. Consequentemente, isso funcionava corretamente somente se o código JavaScript gerado fosse executado em navegador que já possui suporte nativo para o async/await. Os desenvolvedores precisavam adicionar um transpiler (como o Babel) no processo de build para conseguir converter a saída do TypeScript em ES5 e assim conseguir gerar código compatível com qualquer navegador.

Na a versão 2.1, o TypeScript pode gerar async/await em ES3/ES5, dispensando a necessidade de utilizar o Babel.

Para os desenvolvedores React que utilizam TypeScript, a falta do operador spread significava alterar o código ou adicionar o Babel para resolver isso. No React, o operador spread é geralmente utilizado para passar propriedades para um componente que esteja um nível abaixo. Sem o operador spread, os desenvolvedores acabam utilizando a funcionalidade object.assign para combinar objetos. O resultado é similar, mas o operador spread reduz a quantidade de código e aumenta a legibilidade.

Como a funcionalidade async/await e o operador spread já estão disponíveis no Babel, Daniel Rosenwasser (TypeScript Program Manager) comentou que o atraso para essas funcionalidades estarem disponíveis somente na versão 2.1, foi para garantir que o sistema de tipagem continuasse funcionando conforme o esperado:

Quando nós implementamos uma funcionalidade no TypeScript, demoramos um tempo maior para garantir que a tipagem esteja funcionando corretamente e que a performance seja aceitável. Isso significa que quando utilizamos o operador rest/spread, não queremos que o parâmetro seja de qualquer tipo, pois isso deixaria os desenvolvedores frustrados caso cometessem um erro. Com o async/await, tivemos que reescrever nosso pipeline, pois precisávamos manter a paridade em ambas saídas. Investimos bastante nisso e o TypeScript está extremamente rápido.

No anúncio do TypeScript 2.1, Rosenwasser detalha outras funcionalidades como o operador keyof, o imports, o mapped types. Rosenwasser diz que o mapped types é definitivamente a funcionalidade mais interessante desse release 2.1, permitindo que o desenvolvedor não precise fazer variantes para objetos já existentes quando as propriedades são muito similares. Sobre a melhoria na funcionalidade import, Rosenwasser diz que a nova solução ficou mais flexível.

O TypeScript 2.1 está disponível na página oficial do página oficial do TypeScript.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

  • TypeScript

    by José R de Sousa,

    Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!

    Cuidado, a Microsoft não quer que vc aprenda JavaScript, dai criou o Typescript, pra deixar você(ignorante) dependente dela. Não vá para o lado negro da força! Lembre-se com grandes poderes vem grandes responsabilidades!

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

BT