TypeScript

Fala ai galerinha, tudo tranquilo com vocês?

Hoje vamos falar do TypeScript, basicamente é um superconjunto sintático estrito de JavaScript, ou seja, um conjunto de ferramentas e formas mais eficientes de escrever código JavaScript, adicionando recursos que não estão presentes de maneira nativa na linguagem.

O que é TypeScript?

O TypeScript começou a ser desenvolvido pela Microsoft em 2012, com o objetivo de adicionar recursos e ferramentas que não estão presentes nativamente na linguagem (ou que seriam muito mais complexos de serem implementados), como tipagem estática (ou seja, os tipos das variáveis são definidos explicitamente no código) e orientação a objetos.

Por isso, ele não é usualmente considerado como uma nova linguagem de programação, mas sim como um superconjunto de JavaScript, pois o código é “transformado” (no termo técnico: transcompilado) em JavaScript “puro” antes de ser executado.

Um arquivo TypeScript geralmente tem a extensão “.ts”. Por, no fundo, ainda ser JavaScript, qualquer código nativo da linguagem pode ser adicionado em um arquivo desse formato, e programas escritos em JavaScript também podem ser considerados programas TypeScript válidos. Há, também, suporte a várias bibliotecas JavaScript populares, como AngularVue.jsD3.js, entre outras.

Sites e aplicativos criados com TypeScript podem ser executados tanto no lado do cliente (diretamente no navegador do usuário, por exemplo) quanto no lado do servidor (com Node.js). O próprio compilador TypeScript padrão foi escrito em TypeScript e transcompilado para JavaScript.

Veja abaixo um exemplo de código TypeScript envolvendo encapsulamento, um conceito de orientação a abjetos que dá visibilidade e acessibilidade a elementos internos de uma classe. Nesse caso, a declaração de uma variável de saldo, do tipo “number”, é acessível pelo método “Saldo()”.

private _saldo: number;
get Saldo(): number { return this._saldo; }

Relação do Typescript e o Javascript

Ao aplicarmos esse superconjunto, podemos melhorar o suporte a programação orientada a objetos, já que turbinamos o Javascript com várias possibilidades que a linguagem pura não dispõe.

Em sua forma simples, o JS não nos permite a utilização de interfaces de forma clara, por exemplo, além de apresentar uma tipagem fraca, o que prejudica o desenvolvimento em escala de aplicações.

O Typescript visa contornar esses problemas adicionando uma série de funcionalidades, que se perderão, uma vez que o código final se torna Javascript quando transpilado posteriormente.

Porém, durante o desenvolvimento, aquele que programa poderá contar com maiores possibilidades e uma sintaxe mais simples, clara e suportada por todos os editores de códigos modernos.

Como o Typescript é um modificação do JS, qualquer arquivo que tenha sido escrito com essa extensão, .js, pode ser utilizado dentro do TS diretamente, uma vez que ele aceita códigos JS por padrão. Isso é muito positivo, pois possibilita a atualização de sistemas construídos em Javascript.

Quais são os seus principais conceitos?

Ao utilizarmos o Typescript, temos a possibilidade de aplicar aplicar a tipagem estática à programação juntamente com interfaces em um sistema construído unicamente com Javascript; ou seja, podemos turbinar as nossas aplicações. Entre esses conceitos estão os que listamos abaixo.

Encapsulamento

O conceito de encapsulamento pode ser entendido como uma forma de estruturação de código para que determinados blocos tenham acesso a pontos específicos para o ambiente externo. Assim, há visibilidade e acessibilidade dos elementos internos de uma classe.

Ao aplicarmos o encapsulamento, podemos definir quais são os atributos de uma casse que poderão ser visíveis aos usuários externos ou que estarão expostos para uma interface pública do sistema.

Quem trabalha com linguagens como Java, PHP e C# já está acostumado a declarar atributos privados dentro de suas classes, garantindo esse controle. Vamos a um exemplo em Typescript:

private _saldo: number;

Herança

O princípio da herança também é muito conhecido e, com base nele, uma classe filha pode herdar, ou não, os comportamentos e características de uma classe pai, sem que seja necessário redefinir todas as funções novamente.

A palavra reservada utilizada para realizar a herança em Typscript é “extends” assim como na linguagem Java. É preciso declarar a nova função estendendo-a de outra, conforme o exemplo abaixo:

module Escola {
  class Pessoa { ...código aqui.. }
  class Aluno extends Pessoa { ...código aqui.. }
  class Professor extends Pessoa { ...código aqui.. }
}

No exemplo acima, temos um módulo escola, no qual todos são pessoas e compartilham determinados atributos, como o CPF. Contudo, existem características específicas, que são únicas de alunos e de professores. O TS facilita a escrita desse código baseado em herança, que será compilado posteriormente em JS puro.

Abstração

A abstração pode ser considerada a capacidade de destacar apenas algumas características de elementos do mundo real, e é algo muito utilizado na programação orientada a objetos.

Essas características são agrupadas nas chamadas classes, que representam partes de um elemento e seus atributos para a solução de um determinado problema.

Temos ainda as chamadas “classes abstratas”, que não têm uma representação no mundo real, mas realizam determinadas funções necessárias ao sistema. São as chamadas interfaces.

export module Escola
{
   export interface Nota { AlterarNota(nota: number); }
   export class Aluno implements Nota {
       AlterarNota(nota: number) { }
   }
}

Polimorfismo

Por fim, temos o polimorfismo, que permite que sejam utilizados objetos dentro da programação de formas diferenciadas, de acordo com a situação. Ou seja, em um sentido reverso à herança, podemos assumir que uma classe pai possa usar atributos de qualquer de suas classes filhas.

Quais as vantagens de utilizar Typescript?

São várias as vantagens de adotar o Typescript como uma ferramenta de desenvolvimento para quem já trabalha com JS. Uma das maiores é descobrir erros durante a sua implementação, uma vez que é possível utilizar o Intellisense da IDE, permitindo visualizar pontos de melhoria e problemas de compilação.

O principal foco do Typescript é trazer a tipagem estática para o Javascript, juntando também alguns features para facilitar a aplicação dos conceitos de OOP também. Porém, é por meio da tipagem que podemos construir aplicações muito mais seguras e manuteníveis, melhorando a produtividade.

Podemos considerar o Typescript como um potencializador da linguagem Javascript. Ele permite que grandes sistemas complexos sejam construídos com essa linguagem sem nenhum empecilho e sem que ela deixe a desejar diante de outras linguagens de back-end, como PHP ou Java.

Apesar de ter sido criado pela Microsoft, o TypeScript é um projeto de código-aberto, com intensa participação da comunidade. Você pode saber mais sobre a linguagem, ler a documentação e testar sua utilização diretamente no navegador pelo site oficial.

 

Espero que tenham gostado de mais uma publicação relacionada a programação!

 

Até a próxima, valeu!

 

  • Publicado por Giovani Da Cruz
  • 9 views
  • 0 comentarios
  • 16 de novembro de 2022

 

Está gostando do conteúdo?
Considere pagar um cafezinho para nossa equipe!

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados a Categoria Computação

Continue aprendendo

Aumente o seu conhecimento
Explorando a Tokenização: Uma Abordagem Crucial no Processamento de Dados
4 de abril de 2024
Conheça o GPT: A Revolução da Inteligência Artificial no Processamento de Linguagem Natural
4 de abril de 2024
Qual a diferença entre software livre e software open source?
1 de abril de 2024
A Importância de Protótipos na Área de Desenvolvimento de Software
27 de março de 2024
Para Onde Vão Meus Arquivos Excluídos?
24 de março de 2024
Como Fazer Comentários em Instruções de um Arquivo .BAT
20 de março de 2024
Arquivos .BAT: Uma Janela para a Automação no Windows
19 de março de 2024
Como você se torna um especialista em sistemas?
29 de fevereiro de 2024
A Fascinante Mágica dos GUIDs: Identificadores Únicos no Mundo Digital
31 de janeiro de 2024
O que é análise de coorte?
20 de janeiro de 2024