< Back | Wikipedia | Home | Light Mode


TypeScript


TypeScript e uma linguagem de programacao de codigo aberto desenvolvida pela Microsoft. E um superconjunto sintatico estrito de JavaScript e adiciona tipagem estatica opcional a linguagem. Tipos fornecem uma maneira de descrever a forma de um objeto, fornecendo melhor documentacao e permitindo que o TypeScript valide se seu codigo esta funcionando corretamente. Como TypeScript e um superconjunto de JavaScript, os programas JavaScript existentes tambem sao programas TypeScript validos.

Foi considerada pelo publico a 4a linguagem "mais amada", de acordo com uma pesquisa conduzida pelo site Stack Overflow em 2018, e esta entre as 15 linguagens mais populares, de acordo com uma pesquisa conduzida pela RedMonk.

Anders Hejlsberg, arquiteto da linguagem C# e criador das linguagens Delphi e Turbo Pascal, trabalhou no desenvolvimento do TypeScript. A linguagem pode ser usada para desenvolver aplicacoes JavaScript no lado cliente e lado servidor (Node.js ou Deno). Existem varias opcoes disponiveis para transcompilacao. O TypeScript Checker padrao pode ser usado, ou o compilador Babel pode ser chamado para converter TypeScript em JavaScript.

TypeScript oferece suporte a arquivos de definicao que podem conter informacoes de tipo de bibliotecas JavaScript existentes, assim como arquivos de cabecalho 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 cabecalho de terceiros para bibliotecas populares, como jQuery, MongoDB e D3.js. Cabecalhos TypeScript para os modulos basicos do Node.js tambem estao disponiveis, permitindo o desenvolvimento de programas Node.js dentro do TypeScript.

O TypeScript foi divulgado pela primeira vez em outubro de 2012 (na versao 0.8), apos dois anos de desenvolvimento interno na Microsoft.

Logo apos o anuncio, Miguel de Icaza elogiou a linguagem em si, mas criticou a falta de suporte maduro a IDE da Microsoft, Visual Studio, que nao estava disponivel no Linux e no OS X naquela epoca. Em abril de 2021 ha suporte em outras IDEs e editores de texto, incluindo Emacs, Vim, Webstorm, Atom e o proprio Visual Studio Code da Microsoft.

TypeScript 0.9, lancado em 2013, adicionou suporte para tipos genericos (generic types).

TypeScript 1.0 foi lancado na conferencia de desenvolvedores Build da Microsoft em 2014. O Update 2 do Visual Studio 2013 passa a fornecer suporte integrado para TypeScript.

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

Em 22 de setembro de 2016, o TypeScript 2.0 foi lancado; ele introduziu varios recursos, incluindo a capacidade de os programadores opcionalmente impedirem que variaveis recebam valores nulos, as vezes referido como o erro de bilhoes de dolares.

TypeScript 3.0 foi lancado em 30 de julho de 2018, trazendo muitas adicoes a linguagem como expressoes de spread, parametros rest com tipos de tupla, parametros rest genericos e assim por diante.

TypeScript 4.0 foi lancado em 20 de agosto de 2020. Embora esta versao nao tenha introduzido nenhuma alteracao significativa, ele adicionou recursos de linguagem, como Custom JSX Factories e Variadic Tuple Types.

Exemplo de uma arvore binaria generica em TypeScript:

interface Tree { value: T, left?: Tree , // Tree | undefined right?: Tree , } let tree: Tree = { value: 5.96, // left: undefined, right: { value: 1.0 }, }; // Desestrutura `value`, ignorando demais membros let { value } = tree; console.log(value); // Desestrutura membros, ignorando `value` let { left, right } = tree; console.log(`-> ${left?.value}`); console.log(`-> ${right?.value}`);

Exemplo de uma interface grafica usando componentes Web com o Lit:

import { css, html, LitElement } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { choose } from 'lit/directives/choose.js'; @customElement('my-counter') export class Counter extends LitElement { static styles = css` :host { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.5rem; height: 100vh; } .label { font: 1.125rem Noto, sans-serif; } `; @property({ type: Number }) start = 5; @state() private _count: number; connectedCallback() { super.connectedCallback(); this._count = Math.max(0, this.start); } render() { const disabled = this._count === 0; return html` ${choose(this._count, [ [0, () => html`Fim.`], [1, () => html`Encerra no proximo clique!`] ], () => html`Encerra em ${this._count} cliques.`)} `; } decrement() { if (this._count > 0) { this._count--; } } }

E o uso:

Referencias


Este artigo sobre programacao de computadores e um esboco. Voce pode ajudar a Wikipedia expandindo-o.


ProdutosTecnologias Aquisicoes
Busca Alternar o indice TypeScript 37 idiomas Adicionar topico

Source: pt.wikipedia.org