TypeScript com NodeJS?!

Daísa Fernandes
tecnologia no Grupo Boticário
4 min readMay 20, 2022
TypeScript

📚 Um pouco de teoria…

Sempre bom dar uma lida antes não? 😅

Mas o que é o TypeScript?

Bom primeiramente, TypeScript não é uma linguagem de programação mas sim um superset, podemos dizer que é um conjunto de ferramentas em cima do JavaScript que adiciona tipagem estática no mesmo. Ou seja, ele propõe uma tipagem bem definida, uma escrita de código bem mais organizado e abstrações melhores definidas para Programação Orientada a Objetos.

Tipagem estática é definir o tipo que a variável tem ex: string, number. E também conseguimos definir tipos para parâmetros e retornos de funções, entre outros.

Acredito que temos muitos mais ganhos utilizando o TypeScript do não o utilizando. E uma dessas razões é pelo simples fato de reduzir bugs no momento de desenvolvimento, e isso permite que você escreva um código coeso, legível e livre de erros.

Se você utilizar uma boa IDE como o VSCode, você acaba ganhando algo ali que chamamos de IntelliSense que auxilia bastante na hora do desenvolvimento, como: informações sobre parâmetros, métodos, autocompletar, etc.

💻 Agora na prática…

Bom chega de papo, e show me some code 😃

Tipos

Function
Exemplo de uma função de somar em javascript

Acima temos um exemplo de uma simples função de soma de 2 números em JavaScript, mas agora olhe os exemplos abaixo e veja o que acontece se passarmos algo que não seja um número.

Exemplo function rodando
Não é o que esperávamos né? 😰

Se fosse em alguma aplicação mais complexa isso seria um problema não? Pois nem sempre podemos controlar sua estrutura. E isso acaba fazendo com que o nosso código seja mais suscetível a falhas.

Com a tipagem podemos resolver isso, veja só…

Function
Função javascript com typescript

A checagem automática já verifica e nos avisa sobre o problema, informando o que foi passado de errado e qual o tipo correto. E com isso também qualquer outro desenvolvedor que for dar manutenção no código já vai entender os parâmetros que precisa passar.

Interfaces

Muitas das vezes precisamos criar estruturas mais complexas e para isso existem as interfaces.

Interface
Interface para tipar estrutura

Pode-se também trabalhar com funções nas interfaces do TypeScript. Assim quando for implementar a interface deverá implementar as funções definidas nela.

Interface com tipos e funções

Enums

Esse é um dos poucos recurso que existe apenas no nível do TypeScript, onde você consegue definir um conjunto de constantes.

Enums
Exemplos de Enums

Com os enums podemos trabalhar com 3 tipos: numéricos, texto (string) e heterogeneous. Esse último aceita todos os tipos juntos (strings e números).

Classes

Classes não são novidades no JavaScript, assim como outros recursos da linguagem, o TypeScript também adiciona anotações de tipo e outras sintaxes para permitir que você expresse relacionamentos entre classes e outros tipos. E ela funciona basicamente como em outras linguagens Orientadas a Objetos.

Classes
Classe com Herança (Classe )

Também podemos usar o implements com a interface.

Interface e Classe
Classe com Herança (Interface)

Generics

Bom vimos aqui: tipos, interfaces, classes, enums e também como tudo isso pode nos ajudar a escrever um código melhor, mas se agora eu precisar de algo cuja a sua estrutura não esta bem definida, ou precisar que aceite mais de um tipo de parâmetro ou retorno, e que seja reutilizável?

Então, agora para isso o TypeScript nos fornece o Generics, que cria um componente que pode funcionar de vários tipos ao invés de um só. Ou seja, tipar dinamicamente, sendo flexível.

Generics
Functions utilizando Generics

Existe também a possibilidade de utilizar o tipo any, porém ele permite TODOS os tipos. E quando utilizamos o Generic, iremos capturar o tipos que nos é passado.

👩🏻‍💻 Considerações finais…

Bem simples não é mesmo?! Com o uso do TypeScript no dia a dia não é difícil de implementar e trás muitas vantagens para o seu time.

>> Documentação oficial.

É isso aí pessoal 😃

--

--