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:
interface Exemplo {
nome: String;
telefone: String;
idade: Number;
}
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.
interface Exemplo {
nome: String;
telefone?: String;
idade: Number;
}
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.