TypeScript - Visão geral
JavaScript foi introduzido como uma linguagem para o lado do cliente. O desenvolvimento do Node.js também marcou o JavaScript como uma tecnologia emergente do lado do servidor. No entanto, conforme o código JavaScript cresce, ele tende a ficar mais confuso, tornando difícil manter e reutilizar o código. Além disso, sua falha em adotar os recursos de Orientação a Objetos, verificação de tipo forte e verificações de erro em tempo de compilação impede que o JavaScript seja bem-sucedido no nível corporativo como uma tecnologia completa do lado do servidor.TypeScript foi apresentado para preencher esta lacuna.
O que é TypeScript?
Por definição, “TypeScript é JavaScript para desenvolvimento em escala de aplicativo”.
TypeScript é uma linguagem compilada fortemente tipada e orientada a objetos. Foi desenhado porAnders Hejlsberg(designer de C #) na Microsoft. TypeScript é uma linguagem e um conjunto de ferramentas. TypeScript é um superconjunto tipado de JavaScript compilado para JavaScript. Em outras palavras, TypeScript é JavaScript mais alguns recursos adicionais.
Recursos do TypeScript
TypeScript is just JavaScript. TypeScript começa com JavaScript e termina com JavaScript. Typescript adota os blocos de construção básicos de seu programa a partir de JavaScript. Portanto, você só precisa saber JavaScript para usar o TypeScript. Todo o código TypeScript é convertido em seu equivalente em JavaScript para fins de execução.
TypeScript supports other JS libraries. O TypeScript compilado pode ser consumido de qualquer código JavaScript. JavaScript gerado pelo TypeScript pode reutilizar todas as estruturas, ferramentas e bibliotecas JavaScript existentes.
JavaScript is TypeScript. Isso significa que qualquer.js arquivo pode ser renomeado para .ts e compilado com outros arquivos TypeScript.
TypeScript is portable. O TypeScript é portátil em navegadores, dispositivos e sistemas operacionais. Ele pode ser executado em qualquer ambiente em que o JavaScript seja executado. Ao contrário de suas contrapartes, o TypeScript não precisa de uma VM dedicada ou de um ambiente de execução específico para ser executado.
TypeScript e ECMAScript
A especificação ECMAScript é uma especificação padronizada de uma linguagem de script. Existem seis edições da ECMA-262 publicadas. A versão 6 do padrão tem o codinome "Harmony". TypeScript está alinhado com a especificação ECMAScript6.
O TypeScript adota seus recursos básicos de linguagem da especificação ECMAScript5, ou seja, a especificação oficial para JavaScript. Os recursos da linguagem TypeScript, como Módulos e orientação baseada em classe, estão de acordo com a especificação EcmaScript 6. Além disso, o TypeScript também abrange recursos como genéricos e anotações de tipo que não fazem parte da especificação EcmaScript6.
Por que usar TypeScript?
TypeScript é superior a suas outras contrapartes, como as linguagens de programação CoffeeScript e Dart, de maneira que o TypeScript é JavaScript estendido. Em contraste, linguagens como Dart e CoffeeScript são novas linguagens em si mesmas e requerem um ambiente de execução específico da linguagem.
Os benefícios do TypeScript incluem -
Compilation- JavaScript é uma linguagem interpretada. Portanto, ele precisa ser executado para testar se é válido. Significa que você escreve todos os códigos apenas para não encontrar saída, caso haja um erro. Portanto, você precisa passar horas tentando encontrar bugs no código. O transpiler TypeScript fornece o recurso de verificação de erros. O TypeScript irá compilar o código e gerar erros de compilação, se encontrar algum tipo de erro de sintaxe. Isso ajuda a destacar os erros antes da execução do script.
Strong Static Typing- JavaScript não é fortemente tipado. O TypeScript vem com um sistema opcional de digitação estática e inferência de tipos por meio do TLS (TypeScript Language Service). O tipo de uma variável, declarada sem tipo, pode ser inferido pelo TLS com base em seu valor.
TypeScript supports type definitionspara bibliotecas JavaScript existentes. Arquivo de definição TypeScript (com.d.tsextensão) fornece definição para bibliotecas JavaScript externas. Portanto, o código TypeScript pode conter essas bibliotecas.
TypeScript supports Object Oriented Programming conceitos como classes, interfaces, herança, etc.
Componentes do TypeScript
Em sua essência, o TypeScript tem os três componentes a seguir -
Language - É composto pela sintaxe, palavras-chave e anotações de tipo.
The TypeScript Compiler - O compilador TypeScript (tsc) converte as instruções escritas em TypeScript em seu equivalente em JavaScript.
The TypeScript Language Service- O "Serviço de linguagem" expõe uma camada adicional em torno do pipeline do compilador principal que são aplicativos semelhantes a editores. O serviço de linguagem suporta o conjunto comum de operações típicas de um editor, como conclusão de instruções, ajuda de assinatura, formatação e delineamento de código, colorização, etc.
Arquivos de declaração
Quando um script TypeScript é compilado, há uma opção para gerar um declaration file (com a extensão .d.ts) que funciona como uma interface para os componentes no JavaScript compilado. O conceito de arquivos de declaração é análogo ao conceito de arquivos de cabeçalho encontrados em C / C ++. Os arquivos de declaração (arquivos com.d.ts extensão) fornecem intellisense para tipos, chamadas de função e suporte de variável para bibliotecas JavaScript como jQuery, MooTools, etc.