BT

TypeScript 2.1: com suporte à async/await

| por David Iffland Seguir 4 Seguidores , traduzido por Wellington Soares Seguir 1 Seguidores em 10 jan 2017. Tempo estimado de leitura: 2 minutos |

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

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

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

Receber mensagens dessa discussão
Comentários da comunidade

TypeScript by José R de Sousa

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

Receber mensagens dessa discussão

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

Receber mensagens dessa discussão

1 Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT