TypeScript

Origem: Wikipédia, a enciclopédia livre.
TypeScript
Typescript logo 2020.svg
Paradigma multiparadigma
Surgido em 1 de outubro de 2012 (10 anos)
Última versão 4.7 (24 de maio de 2022; há 10 meses[1])
Criado por Microsoft
Estilo de tipagem
  • estática
  • forte
  • inferida
Principais implementações tsc
Influenciada por
Licença: Apache 2.0
Extensão do arquivo:
  • .ts
  • .tsx
Página oficial www.typescriptlang.org

TypeScript é uma linguagem de programação de código aberto desenvolvida pela Microsoft. É um superconjunto sintático estrito de JavaScript e adiciona tipagem estática opcional à linguagem. Tipos fornecem uma maneira de descrever a forma de um objeto, fornecendo melhor documentação e permitindo que o TypeScript valide se seu código está funcionando corretamente. [2] Como TypeScript é um superconjunto de JavaScript, os programas JavaScript existentes também são programas TypeScript válidos.[2]

Foi considerada pelo público a 4ª linguagem "mais amada", de acordo com uma pesquisa conduzida pelo site Stack Overflow em 2018,[3] e está entre as 15 linguagens mais populares, de acordo com uma pesquisa conduzida pela RedMonk.[4]

Anders Hejlsberg, arquiteto da linguagem C# e criador das linguagens Delphi e Turbo Pascal, trabalhou no desenvolvimento do TypeScript.[5][6][7][8] A linguagem pode ser usada para desenvolver aplicações JavaScript no lado cliente e lado servidor (Node.js ou Deno). Existem várias opções disponíveis para transcompilação. O TypeScript Checker padrão pode ser usado,[9] ou o compilador Babel pode ser chamado para converter TypeScript em JavaScript.

TypeScript oferece suporte a arquivos de definição que podem conter informações de tipo de bibliotecas JavaScript existentes, assim como arquivos de cabeçalho C ++ podem descrever a estrutura de arquivos de objeto existentes. Isso permite que outros programas usem os valores definidos nos arquivos como se fossem entidades TypeScript estaticamente digitadas. Existem arquivos de cabeçalho de terceiros para bibliotecas populares, como jQuery, MongoDB e D3.js. Cabeçalhos TypeScript para os módulos básicos do Node.js também estão disponíveis, permitindo o desenvolvimento de programas Node.js dentro do TypeScript.[10]

História[editar | editar código-fonte]

O TypeScript foi divulgado pela primeira vez em outubro de 2012 (na versão 0.8), após dois anos de desenvolvimento interno na Microsoft.[11]

Logo após o anúncio, Miguel de Icaza elogiou a linguagem em si, mas criticou a falta de suporte maduro a IDE da Microsoft, Visual Studio, que não estava disponível no Linux e no OS X naquela época.[12] [13] Em abril de 2021 há suporte em outras IDEs e editores de texto, incluindo Emacs, Vim, Webstorm, Atom[14] e o próprio Visual Studio Code da Microsoft.

TypeScript 0.9, lançado em 2013, adicionou suporte para tipos genéricos (generic types).[15]

TypeScript 1.0 foi lançado na conferência de desenvolvedores Build da Microsoft em 2014. O Update 2 do Visual Studio 2013 passa a fornecer suporte integrado para TypeScript.[16]

Em julho de 2014, a equipe de desenvolvimento anunciou um novo compilador TypeScript, alegando ganhos de desempenho de 5 vezes. Simultaneamente, o código-fonte, que estava inicialmente hospedado no CodePlex, foi movido para o GitHub.[17]

Em 22 de setembro de 2016, o TypeScript 2.0 foi lançado; ele introduziu vários recursos, incluindo a capacidade de os programadores opcionalmente impedirem que variáveis ​​recebam valores nulos, [18] às vezes referido como o erro de bilhões de dólares.

TypeScript 3.0 foi lançado em 30 de julho de 2018,[19] trazendo muitas adições à linguagem como expressões de spread, parâmetros rest com tipos de tupla, parâmetros rest genéricos e assim por diante.

TypeScript 4.0 foi lançado em 20 de agosto de 2020.[20] Embora esta versão não tenha introduzido nenhuma alteração significativa, ele adicionou recursos de linguagem, como Custom JSX Factories e Variadic Tuple Types.[20]

Histórico de lançamento[editar | editar código-fonte]

Número da versão Data de lançamento Mudanças significativas
0.8 1 outubro 2012 (2012-10-01)
0.9 18 junho 2013 (2013-06-18)
1.0 12 abril 2014 (2014-04-12)
1.1 6 outubro 2014 (2014-10-06) melhorias de desempenho
1.3 12 novembro 2014 (2014-11-12) modificador protected , tipos de tupla
1.4 20 janeiro 2015 (2015-01-20) declarações de tipo de união, let e const , strings de modelo, type guards, aliases de tipo
1.5 20 julho 2015 (2015-07-20) Módulos ES6, namespace palavra-chave, suporte para for..of , decorators
1.6 16 setembro 2015 (2015-09-16) Suporte JSX, intersection types, declarações de tipo local, abstract classes e métodos, funções de proteção de tipo definidas pelo usuário
1.7 30 novembro 2015 (2015-11-30) suporte async e await ,
1.8 22 fevereiro 2016 (2016-02-22) restrições genéricas, erros de análise de fluxo de controle, tipos literais de string, allowJs
2.0 22 setembro 2016 (2016-09-22) tipos nulos e indefinidos, análise de tipo baseada em fluxo de controle, tipos de união discriminados, tipo never , palavra-chave readonly , tipo de this para funções
2.1 8 novembro 2016 (2016-11-08) keyof e tipos de pesquisa, tipos mapeados, object spread e rest,
2.2 22 fevereiro 2017 (2017-02-22) classes combinadas, object type,
2.3 27 abril 2017 (2017-04-27) iteração async , padrões de parâmetros genéricos, opção strict
2.4 27 junho 2017 (2017-06-27) expressões de importação dinâmica, enums de string, inferência aprimorada para genéricos, contravariância estrita para parâmetros de retorno de chamada
2.5 31 agosto 2017 (2017-08-31) variáveis ​​de cláusula catch opcionais
2.6 31 outubro 2017 (2017-10-31) tipos de função estritos
2.7 31 janeiro 2018 (2018-01-31) propriedades com nome constante, tuplas de comprimento fixo
2.8 27 março 2018 (2018-03-27) tipos condicionais, keyof aprimorada com tipos de interseção
2.9 14 maio 2018 (2018-05-14) suporte para símbolos e literais numéricos nos tipos de keyof e objetos mapeados
3.0 30 julho 2018 (2018-07-30) referências de projeto, extraindo e espalhando (spreading ) listas de parâmetros com tuplas
3.1 27 setembro 2018 (2018-09-27) tupla mapeável e tipos de array
3.2 30 novembro 2018 (2018-11-30) verificação mais rigorosa de vinculação, chamada e aplicação
3.3 31 janeiro 2019 (2019-01-31) regras relaxadas sobre métodos de tipos de união, compilações incrementais para projetos compostos
3.4 29 março 2019 (2019-03-29) compilações incrementais mais rápidas, inferência de tipo de funções genéricas, modificador readonly para matrizes, asserções para constantes, verificação de tipo global this
3.5 29 maio 2019 (2019-05-29) compilações incrementais mais rápidas, tipo auxiliar Omit , verificações de propriedade em excesso aprimoradas em tipos de união, verificação de tipo de união mais inteligente
3.6 28 agosto 2019 (2019-08-28) Geradores mais rígidos, distribuição de array mais precisa, melhor suporte Unicode para identificadores
3.7 5 novembro 2019 (2019-11-05) Encadeamento opcional, Nullish Coalescing
3.8 20 fevereiro 2020 (2020-02-20) Importações e exportações apenas de tipo, campos privados ECMAScript, espera de nível superior
3.9 12 maio 2020 (2020-05-12) Melhorias na inferência, melhorias na velocidade
4.0 20 agosto 2020 (2020-08-20) Tipos de tupla variável, elementos de tupla rotulados
4.1 19 novembro 2020 (2020-11-19) Tipos literais de modelo, remapeamento de chave em tipos mapeados, tipos condicionais recursivos
4.2 25 fevereiro 2021 (2021-02-25) Preservação de alias de tipo mais inteligente, elementos rest iniciais / intermediários em tipos de tupla, verificações mais rígidas para o operador in , abstract Construct Signatures
4.3 26 maio 2021 (2021-05-26)
4.4 26 outubro 2021 (2021-10-26)
4.5 17 novembro 2021 (2021-11-17)
4.6 28 fevereiro 2022 (2022-02-28)
4.7 24 maio 2022 (2022-05-24)
4.8 25 outubro 2022 (2022-10-25)
4.9 15 novembro 2022 (2022-11-15)

Ver também[editar | editar código-fonte]

Referências

  1. «Announcing TypeScript 4.7». devblogs.microsoft.com (em inglês). 24 de maio de 2022. Consultado em 26 de maio de 2022 
  2. a b «Typed JavaScript at Any Scale.». www.typescriptlang.org (em inglês). Consultado em 20 de julho de 2021 
  3. «Stack Overflow Developer Survey 2018». Stack Overflow. Consultado em 16 de abril de 2018 
  4. O'Grady, Stephen (18 de julho de 2018). «The RedMonk Programming Language Rankings: January 2018» (em inglês). RedMonk. Consultado em 23 de agosto de 2018 
  5. Foley, Mary Jo (1 de outubro de 2012). «Microsoft takes the wraps off TypeScript, a superset of JavaScript». ZDNet. CBS Interactive. Consultado em 26 de abril de 2015 
  6. Somasegar, S. (1 de outubro de 2012). «Somasegar's blog». Somasegar’s blog. Microsoft. Consultado em 26 de abril de 2015 
  7. Baxter-Reynolds, Matt (1 de outubro de 2012). «Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript?». ZDNet. Consultado em 26 de abril de 2015 
  8. Jackson, Joab (1 de outubro de 2012). «Microsoft Augments Javascript for Large-scale Development». CIO. IDG Enterprise. Consultado em 26 de abril de 2015 
  9. «TypeScript Programming with Visual Studio Code». code.visualstudio.com (em inglês). Consultado em 20 de julho de 2021 
  10. «GitHub - DefinitelyTyped/DefinitelyTyped: The repository for high quality TypeScript type definitions.». GitHub (em inglês). Consultado em 20 de julho de 2021 
  11. staff, IDG News Service (1 de outubro de 2012). «Microsoft augments JavaScript for large-scale development». InfoWorld (em inglês). Consultado em 20 de julho de 2021 
  12. «TypeScript: First Impressions - Miguel de Icaza». tirania.org. Consultado em 20 de julho de 2021 
  13. Baxter-Reynolds, Matt. «Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript?». ZDNet (em inglês). Consultado em 20 de julho de 2021 
  14. «GitHub - TypeStrong/atom-typescript: The only TypeScript package you will ever need». GitHub (em inglês). Consultado em 20 de julho de 2021 
  15. Francisco, Neil McAllister in San. «TypeScript 0.9 arrives with new compiler, support for generics». www.theregister.com (em inglês). Consultado em 20 de julho de 2021 
  16. «Microsoft TypeScript graduates to Visual Studio». PCWorld (em inglês). 25 de fevereiro de 2014. Consultado em 20 de julho de 2021 
  17. «New Compiler and Moving to GitHub». TypeScript (em inglês). 21 de julho de 2014. Consultado em 20 de julho de 2021 
  18. Staff, Ars (22 de setembro de 2016). «TypeScript, Microsoft's JavaScript for big applications, reaches version 2.0». Ars Technica (em inglês). Consultado em 20 de julho de 2021 
  19. «Announcing TypeScript 3.0». TypeScript (em inglês). 30 de julho de 2018. Consultado em 20 de julho de 2021 
  20. a b «Announcing TypeScript 4.0». TypeScript (em inglês). 20 de agosto de 2020. Consultado em 20 de julho de 2021 

Ligações externas[editar | editar código-fonte]


Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.