Top Qs
Linha do tempo
Chat
Contexto

TypeScript

linguagem de programação Da Wikipédia, a enciclopédia livre

Remove ads

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. [3] Como TypeScript é um superconjunto de JavaScript, os programas JavaScript existentes também são programas TypeScript válidos.[3]

Factos rápidos
Remove ads

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

Anders Hejlsberg, arquiteto da linguagem C# e criador das linguagens Delphi e Turbo Pascal, trabalhou no desenvolvimento do TypeScript.[6][7][8][9] 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,[10] 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.[11]

Remove ads

História

Resumir
Perspectiva

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.[12]

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.[13] [14] Em abril de 2021 há suporte em outras IDEs e editores de texto, incluindo Emacs, Vim, Webstorm, Atom[15] e o próprio Visual Studio Code da Microsoft.

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

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.[17]

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.[18]

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, [19] às vezes referido como o erro de bilhões de dólares.

TypeScript 3.0 foi lançado em 30 de julho de 2018,[20] 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.[21] 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.[21]

Remove ads

Exemplos

Resumir
Perspectiva

Genéricos

Exemplo de uma árvore binária genérica em TypeScript:

interface Tree<T> {
  value: T,
  left?: Tree<T>, // Tree<T> | undefined
  right?: Tree<T>,
}

let tree: Tree<number> = {
  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}`);

Componentes Web

Exemplo de uma interface gráfica 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`<span class="label">Fim.</span>`],
        [1, () => html`<span class="label">Encerra no próximo clique!</span>`]
      ],
      () => html`<span class="label">Encerra em ${this._count} cliques.</span>`)}
      <button ?disabled=${disabled} @click=${this.decrement}>Contar</button>
    `;
  }
 
  decrement() {
    if (this._count > 0) {
      this._count--;
    }
  }
}

E o uso:

<my-counter start="5"></my-counter>
Remove ads

Ver também

Referências

  1. «Release TypeScript 5.8.3» (em inglês). 7 de abril de 2025. Consultado em 21 de maio de 2025
  2. Rosenwasser, Daniel (28 de fevereiro de 2025). «Announcing TypeScript 5.8». devblogs.microsoft.com (em inglês). Consultado em 21 de maio de 2025
  3. «Typed JavaScript at Any Scale.». www.typescriptlang.org (em inglês). Consultado em 20 de julho de 2021
  4. O'Grady, Stephen (18 de julho de 2019). «The RedMonk Programming Language Rankings: January 2018» (em inglês). RedMonk. Consultado em 23 de agosto de 2019
  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. 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
  11. «TypeScript: First Impressions - Miguel de Icaza». tirania.org. Consultado em 20 de julho de 2021
  12. 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
  13. 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
  14. «Microsoft TypeScript graduates to Visual Studio». PCWorld (em inglês). 25 de fevereiro de 2014. Consultado em 20 de julho de 2021
  15. «New Compiler and Moving to GitHub». TypeScript (em inglês). 21 de julho de 2014. Consultado em 20 de julho de 2021
  16. 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
  17. «Announcing TypeScript 3.0». TypeScript (em inglês). 30 de julho de 2018. Consultado em 20 de julho de 2021
  18. «Announcing TypeScript 4.0». TypeScript (em inglês). 20 de agosto de 2020. Consultado em 20 de julho de 2021
Remove ads

Ligações externas

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads