TypeScript: o que é, como começar e quais são as vantagens?

Ugo Roveda

Por Ugo Roveda02 mar 202311 min de leitura

Imagem ilustrativa

Quem estuda Tecnologia da Informação, certamente, já teve contato com o TypeScript. E se ainda não conhece, vale a pena se aprofundar neste recurso para aumentar a produtividade e as possibilidades quando se trabalha com Java Script (JS). Há quem pense que o TypeScript veio para substituir o JavaScript, no entanto, este é um grande erro.

Lançado em 2012 por Anders Hejlsberg, influente engenheiro de software, o TypeScript possui diferentes conceitos e vantagens e, nos últimos anos, tem se popularizado cada vez mais entre os desenvolvedores. Considerando isso, vamos mostrar como o TypeScript pode colaborar com os seus projetos, demonstrando conceitos e, claro, quais são os seus principais benefícios. Acompanhe!

O que é TypeScript?

Mais conhecido como um superset do Javascript, ou seja, um conjunto de ferramentas, o TypeScript foi criado com o objetivo de incluir recursos que não estão presentes no JS. Por meio dele é possível definir a tipagem estática, parâmetros e retorno de funções.

Além de ser uma ferramenta orientada a objetos, fortemente tipada e que pode ser escrita em qualquer ambiente de desenvolvimento, o TypeScript quando instalado via gerenciador de pacotes JS, permite checar erros e utilizar outros compiladores que suportam este mecanismo.

O nome TypeScript surgiu da combinação de palavras “JavaScript” + “Type”( “Tipo” em português), representa a sua finalidade mais importante: a tipagem estática, na qual possibilita programar tanto do lado do cliente (client-side), como no lado do servidor (server-side). Logo, o TypeScript eleva o nível de produtividade e ainda garante o desenvolvimento de aplicações complexas, eficazes e seguras.

Como TypeScript funciona?

TypeScript é uma linguagem de programação de código aberto desenvolvida pela Microsoft que é uma extensão do JavaScript. Ela adiciona recursos avançados ao JavaScript, como a tipagem estática e interfaces, tornando mais fácil detectar e prevenir erros durante a fase de desenvolvimento.

Ao escrever em TypeScript, o desenvolvedor pode definir os tipos de dados de variáveis, parâmetros de função e objetos, bem como criar interfaces para definir a forma de um objeto. Isso permite que o compilador do TypeScript verifique o código em tempo de compilação, identificando erros antes mesmo de serem executados. TypeScript pode ser usado em qualquer lugar onde JavaScript é usado e é comumente usado em grandes projetos e aplicações devido à sua escalabilidade e capacidade de manutenção de código.

Onde é utilizado TypeScript?

O TypeScript é uma linguagem de programação que é amplamente utilizada em projetos que envolvem desenvolvimento web ou aplicativos em geral. Abaixo estão alguns casos de uso comuns do TypeScript:

Desenvolvimento de aplicativos da web: o TypeScript é frequentemente usado para criar aplicativos da web do lado do cliente, como aplicativos de página única (SPAs) e aplicativos de comércio eletrônico. O TypeScript também pode ser usado para desenvolver aplicativos da web do lado do servidor com o Node.js.

Desenvolvimento de aplicativos móveis: o TypeScript pode ser usado para desenvolver aplicativos móveis para iOS e Android com o React Native. O React Native é uma biblioteca popular para o desenvolvimento de aplicativos móveis, que usa TypeScript para aumentar a produtividade e a qualidade do código.

Desenvolvimento de jogos: o TypeScript é frequentemente usado no desenvolvimento de jogos, especialmente em jogos baseados na web. O TypeScript ajuda a garantir a qualidade do código e a reduzir erros comuns na tratativa dos dados em jogos.

Desenvolvimento de bibliotecas e frameworks: o TypeScript é frequentemente usado para criar bibliotecas e frameworks para o desenvolvimento de aplicativos web e móveis. O TypeScript ajuda a garantir a qualidade do código e a reduzir erros em bibliotecas e frameworks.

Basicamente, o TypeScript é uma linguagem de programação versátil que pode ser usada em uma ampla variedade de projetos de desenvolvimento de software, incluindo aplicativos da web, aplicativos móveis, jogos e bibliotecas e frameworks.

Quais são as vantagens do TypeScript?

O potencial de detecção de erros durante o desenvolvimento de projetos e a possibilidade de incluir a inteligência (IntelliSense) da IDE (ambiente de desenvolvimento integrado) que está sendo usada. Isso reflete num ambiente muito mais ágil e seguro enquanto o código está sendo digitado pelo usuário.

Além de ajudar o ambiente de desenvolvimento, o TypeScript possibilita o uso de diferentes funcionalidades do superset que não estão inclusas na forma nativa e, também, a migração de linguagem gradativamente, refletindo no aumento da produtividade das equipes.

Adiciona recursos importantes e úteis

TypeScript adiciona recursos úteis à linguagem JavaScript, como tipagem estática, interfaces, classes, herança, módulos e suporte para recursos modernos do JavaScript, como async/await. A tipagem estática ajuda a prevenir erros comuns em tempo de execução, permitindo que os desenvolvedores detectem e corrijam erros de digitação e de tipo durante a fase de desenvolvimento. As interfaces fornecem uma maneira de descrever a forma esperada de um objeto, tornando o código mais previsível e fácil de entender. As classes e a herança permitem que os desenvolvedores criem objetos complexos e organizem seu código de forma mais eficiente. Os módulos permitem que os desenvolvedores dividam seu código em arquivos menores e mais gerenciáveis. Em resumo, o TypeScript ajuda os desenvolvedores a escrever código mais seguro, previsível e fácil de manter.

Código aberto

TypeScript é um projeto de software de código aberto mantido pela Microsoft e por uma comunidade de desenvolvedores que contribuem para o seu desenvolvimento. O código-fonte do TypeScript está disponível gratuitamente para qualquer pessoa acessar, visualizar, modificar e distribuir. Isso significa que os desenvolvedores podem contribuir para o desenvolvimento do TypeScript, melhorando o software e adicionando novos recursos. O TypeScript é usado em muitos projetos de software em todo o mundo, e sua natureza de código aberto incentiva a colaboração e a transparência em sua comunidade de desenvolvimento. O código aberto do TypeScript permite que desenvolvedores criem soluções personalizadas para suas necessidades específicas e ajuda a tornar a linguagem de programação mais acessível e versátil para todos.

Qual é a diferença entre TypeScript e JavaScript?

Embora o TypeScript seja uma “extensão” mais completa do JavaScript, há diferenças entre eles. A primeira delas é que no TypeScript existe uma tipagem estática e, no JavaScript, uma linguagem dinâmica. 

Outra diferença entre eles é que o TypeScript possui um funcionamento voltado a orientação de objetos, já no JS há uma programação estruturada na linguagem. Além disso, o Typescript é uma linguagem compilada e que transpila para Javascript.

TypeScript: tipagem estática

Numa linguagem de tipagem estática, é fundamental a declaração do tipo de dado que a variável irá receber, antes de atribuir valor a ela. Além disso, a tipagem estática concede uma maior segurança ao código, já que garante que o “build” do código não seja gerado caso ocorra algum erro na tipagem.

TypeScript e a orientação a objetos

Como o próprio nome já diz, é uma programação orientada a objetos. Um objeto possui dados e ações que interagem durante a realização do projeto. Quase sempre esses objetos são do mundo real. Dois exemplos para ilustrar: celulares e bananas.

O celular existe e é o objeto. Agora, entre um Android e um IOS há diferenças. Diferença de modelo, configurações e propriedades. No mercado você encontra facilmente bananas. Elas podem ser prata, caturra, nanica, da terra ou ouro. A banana caturra, por exemplo, é doce, enquanto a prata não tem tanta sacarose quando comparada à caturra. As duas são bananas, mas são diferentes. Logo, os objetos podem ter os mesmos atributos, mas com características distintas. 

Classes

Uma classe nada mais é do que uma representação de algum tipo de objeto. Além disso, uma classe pode ser utilizada para criar quantos objetos forem precisos. Sendo composta por métodos (ações) e atributos (características). As classes são modelos a serem seguidos porque nelas estarão características comuns e métodos compartilhados entre si pelos objetos. 

Herança

Muito conhecido entre os profissionais da área, o princípio de herança permite que uma classe filha possa herdar, ou não, as ações e as características de uma classe pai, sem a necessidade de redefinição das funções. A palavra para herança em TypeScript é “extends”, igual a linguagem  em Java. 

Encapsulamento

Presente no TypeScript e em outras linguagens que usam a orientação a objetos como base, o encapsulamento é um recurso ativado através de setter e getters, permitindo que o código tenha acesso a características de uma classe que esteja protegida. Ao aplicar este conceito, é possível definir quais são os atributos de uma classe que pode ser visível aos usuários, assim como os que estarão expostos para uma interface pública.

Classes abstratas

Conhecida por ser somente herdada e não instanciada, a classe abstrata é usada para destacar algumas características de determinado elemento. A partir dele é possível agrupar características do mundo real em classes ou empregar funções de sistema nas classes abstratas.

Interfaces

Outro conceito importante no TypeScript é a oportunidade de criar interfaces customizadas, que facilitam a construção entre os conjuntos de objetos, permitindo assim que os tipos adequados sejam usados. Em outras palavras, funciona como um contrato entre si e qualquer outra classe ou estrutura que empregue sua interface.

JavaScript

JavaScript é uma linguagem de programação de alto nível, interpretada, multi-paradigma e de tipagem dinâmica. 

  • Tipagem dinâmica significa que o tipo das variáveis pode ser alterado em tempo de execução, o que proporciona uma maior flexibilidade na escrita de código. rogramação estruturada é um paradigma de programação que se concentra em estruturas de controle de fluxo, como if/else e loops, para controlar a execução do código. As funções são blocos de código que executam uma tarefa específica e podem ser chamadas em outras partes do programa. 
  • Prototypes são usados para estender as funcionalidades de objetos em JavaScript, permitindo que os desenvolvedores adicionem métodos e propriedades aos objetos existentes. 
  • unções construtoras são funções que são usadas para criar objetos personalizados e podem ser usadas para criar instâncias de objetos com comportamentos e propriedades específicos. Em resumo, JavaScript é uma linguagem versátil que permite que os desenvolvedores escrevam código dinâmico e flexível, usando várias técnicas de programação, como programação estruturada, funções, prototypes e funções construtoras.

Instalação do TypeScript

Existem duas maneiras de instalar as ferramentas do TypeScript, a primeira delas é por meio do npm do NodeJs, e a outra é através da  instalação de plugins do Visual Stúdio. Após isso, é só abrir o terminal e digitar o comando npm install -g typescript.

Verificando instalação

Para verificar se está tudo certo com a instalação, execute o comando: tsc -v. 

Se o TS estiver instalado, aparecerá no console.

Começando a utilização

Para começar a usar o TS é necessário criar um arquivo de configurações para o compilador do JS. Para isso, dentro de um diretório, execute o comando: tsc –init.

Com ele será criado de forma automática o arquivo tsconfig.json. Após isso, é só criar um arquivo com extensão .ts e começar a usar.

React TypeScript

Desenvolvida pelo Facebook para o desenvolvimento de interface de usuários (IU), o React é uma biblioteca JavaScript muito semelhante a framework. O template padrão que o React usa é com o JavaScript, no entanto, pode ser alterado para TS de maneira muito simples.

No React com Javascript, os arquivos têm extensões .js ou .jsx. Já com o template TypeScript, as extensões são .ts ou .tsx.

Angular TypeScript

Famoso por ser um framework moderno, o Angular foi desenvolvido com TS para aplicações Web SPA baseada em componentes. Além disso, sua documentação oferece suporte e uma referência mais atualizada. Por meio do recurso do Angular é comum o uso do CLI (Command Line Interface).

Conclusão

TypeScript e JavaScript são linguagens de programação muito úteis e versáteis, cada uma com suas próprias vantagens e recursos únicos. Ao aprender e dominar essas linguagens, os desenvolvedores podem criar aplicativos e soluções personalizadas que atendam às necessidades específicas de seus projetos e clientes.

Aprenda as habilidades essenciais para se tornar um desenvolvedor Full Stack com o curso da Kenzie Academy Brasil. Adquira conhecimentos em linguagens como JavaScript, TypeScript e Python, aprenda a construir aplicações web dinâmicas e trabalhe em projetos reais em equipe. Inscreva-se agora e prepare-se para sua carreira em tecnologia.

VOCÊ TAMBÉM PODE SE INTERESSAR POR: