TYPESCRIPT
30/10/2022
O que é TypeScript e porque você deve começar a usar
O que é TypeScript?
TypeScript é uma linguagem
Você já viu na prática o que é tipagem forte se já programou em linguagens como C, C++, C#, Java etc. Falar que uma linguagem é
int numero = 5;
char palavra = 'a';
boolean verdade = true;
numero = 'b'; // erro, só pode receber números inteiros
Repare que para cada variável, eu preciso informar qual seu tipo. Se criado uma variável do tipo
Agora, usando o mesmo exemplo, mas com JavaScript:
let meuNumero = 5;
let minhaLetra = "a";
let verdade = true;
meuNumero = "b"; // agora, a variável “meuNumero“ deixou de ser 5 e passou a ser 'b'
Por isso falamos que o JavaScript é uma linguagem fracamente tipada, nele não precisamos definir o tipo das variáveis ao declará-las, e esse tipo pode ser alterado a qualquer momento, sendo dinâmico. Assim, uma mesma variável pode receber valores numéricos, texto, booleanos, dentre outros.
Você pode estar pensando: “isso é ótimo!“, e eu te digo que, nem sempre.
Linguagens fracamente tipadas facilitam o experimento e são mais flexíveis, o que pode ser muito
Inicialmente esta abordagem é eficiente para micro-serviços, pequenos componentes e SPAs. Mas quando passamos a ter uma aplicação com mais responsabilidades e mais pessoas contribuindo, não ter uma arquitetura e patterns adequados fará com que nosso projeto comece a ter problemas.
A prática e academia ensina que,
Muito dos erros de softwares podem ser
Porque usar?
O nome TypeScript surgiu da combinação de palavras
Veja o seguinte código escrito em JavaScript:
let x = 1; // x é do tipo number
x = "um texto qualquer"; // agora, x é do tipo string
Em TypeScript, o mesmo código poderia ser escrito da seguinte forma:
let x: number = 1;
x = "um texto qualquer"; // erro, pois x é do tipo number e deve receber um número
Claro que este exemplo é muito pequeno e simples para se enxergar a real importância que a tipagem traz para o desenvolvimento. Vamos supor que você tenha criado uma função dentro de seu código, após alguns dias, você precisa usar esta função mas se esquece sobre seu funcionamento, como por exemplo, o que ela esperava receber como parâmetro e o que retornava. Além disso, há outras situações, como trabalhar em equipe e precisar usar funcionalidades feitas por outros desenvolvedores. Analise o seguinte código escrito em
function trazerInformacoesPai(pessoa) {
// código...
}
Você não saberia me dizer com precisão o que precisaria ser passado para o parâmetro “pessoa“, correto? Seria preciso ler o código para entender. Será que a função espera receber o nome de uma pessoa (string)? O que ela exatamente retorna? Pelo nome, presumo que ela me traga informações sobre o pai da pessoa passada como parâmetro, mas quais informações exatamente?
Veja agora com
interface Pessoa {
nome: string;
idade: number;
}
interface Pai {
nome: string;
idade: number;
quantidadeFilhos: number;
}
function trazerInformacoesPai(pessoa: Pessoa): Pai {
// código...
}
Repare que agora sabemos o formato esperado pelo parâmetro da função, que é um objeto do tipo
Dessa forma, não seria mais necessário ler o código da função para saber o que ela espera receber e o que ela retorna, essas informações auxiliam na
Caso você tente passar um nome (string) como parâmetro para dentro da função, como por exemplo “Caio“, o TypeScript irá informar um erro pois a função recebe um objeto do tipo
IntelliSense
Ao programar, você pode notar que usando o ponto após uma variável, seu editor de código lhe mostra os atributos e métodos inerentes ao tipo daquela variável, isto é o
let meuArray = [];
/* Ao colocar o ponto logo após a variável “meuArray“, seu editor de código irá
mostrar métodos e atributos que um Array tem, como por exemplo: o forEach */
meuArray.forEach(/* código... */);
Ao usar uma linguagem fracamente tipada, como o JavaScript, em muitas situações seu editor de código