Typescript não é Somente Tipagem!
Para muitos iniciantes no mundo javascript, principalmente para aqueles que ainda não conhece o seu potencial total. Se tem a errônea impressão que javascript é somente usado para manipulação de eventos HTML. O que não está inteiramente errado.
O que acontece é que o javascript com o passar dos anos deixou de ser apenas um script para manipular HTML e principalmente com o a criação do NodeJS começou a ser um excelente recurso de backend.
O Typescript surgiu para ser um superset do Javascript, fornecendo tipagem e um melhor suporte a orientação a objetos. Assim fornecendo recursos com interfaceamento de objetos, que pode ser usado como um tipo para uma variável, ou uma implementação de uma classe.
E é nisto que Typescrip prova que não é somente um recurso de tipagem.
Exemplo de uma interface:
class Aluno implements Exemplo { private nome: String; private telefone: String; private idade: Number;
public setAluno(nome: String, telefone: String, idade: Number): void {
this.nome = nome;
this.telefone = telefone;
this.idade = idade;
}
public getAluno(): Aluno {
return {
nome: this.nome,
telefone: this.telefone,
idade: this.idade
};
}
}
Neste exemplo mostro que quando em Typescript implementamos uma interface em uma classe, obrigatoriamente a classe tem que implementar os objetos da interface. Exceto aqueles que tenham o sinal de interrogação antes dos dois pontos. Vamos supor que o objeto telefone não é obrigatório, fazendo com que não seja obrigatório implementa-lo na classe Aluno.
Desta forma telefone é opcional e não obrigatório.
Vemos também que o método setAluno atribui os valores aos atributos da classe, através de passagem de parâmetros. Já no método getAluno ele retorna um objeto Exemplo, de forma que o retorno seja obrigatoriamente do mesmo tipo que a interface Exemplo.
Isto é extremamente importante para a redução de erros, o que auxilia na hora de construir uma aplicação com menos erros e mais confiável.
Isso ainda sem falar das facilidades do padrão SOLID e os demais patterns existentes. Que falarei sobre em outros artigos. Por favor deixem seus pensamentos e dúvidas sobre o assunto isto ajuda muita a criar artigos mais completos e direcionados.
Desde já muito grato, Maicon Parra da Silva.
Costumo dizer que typescript existe para proteger o dev de si mesmo, hoje em dia não consigo imaginar um projeto grande e importante sem utilizar nenhum tipo de tipagem.
Inclusive uma curiosidade genuína minha é: Como grandes projetos em javascript e python não se tornam caóticos com o passar do tempo