TypeScript: Tipagem
Dando continuidade a minha serie de artigos sobre TypeScript, nesse artigo irei apresentar a suas formas tipagens.
Variáveis
Diferente de quando nos trabalhávamos com .js, as variáveis no TypeScript devem ser tipadas. Veja abaixo alguns exemplos:
Boolean
Como nas outras linguagens tipadas, ele somente suporta true or false.
var ativo : boolean = false;
Number
O Tipo number so aceita números
var age : number = 32;
String
var nome : string = "Bill Gates";
Array
Com array, nós trabalhamos com coleções de objetos ou variáveis da mesma forma que no JavaScript, utilizando as chaves [].
var frutas : string[] = ["pera" ,"uva", "banana"];
Enum
Esse é novo, digo, novo pra quem trabalha com JavaScript, o tipo Enum (enumeração) é ideal para trabalhar com listas, mas com a utilização de chaves nos elementos. Caso tenha interesse em saber um pouco mais sobre Enums, segue link de um artigo, que eu escrevi sobre esse assunto: TypeScript Enums
enum temperatura {quente,frio,morno};
console.log(temperatura.quente)
Executando o código acima, nós iremos receber o valor 0, isso ocorre porque por padrão o TypeScript trabalha com o valor inicial 0.
Para ficar um pouco mais claro, veja mais um exemplo:
enum temperatura {quente =1,frio,morno};
console.log(temperatura.frio)
Como no exemplo acima nós estamos passando o valor 1 para o primeiro item, o compilador irá passar os valores 1…2…3 para os outros valores, isso acontece porque o TypeScript trabalha com auto increment.
Any
Muitas vezes não podemos forçar o tipo de um determinado dado, alguns cenários como o retorno de uma API de terceiros. Em cenários como esse, você pode rotular sua variável ou objeto com o tipo “any”, assim ela vai aceitar qualquer valor. Veja abaixo um exemplo:
var valorInicial : any = ["valor 1","valor 2", 13];
valorInicial = 18;
valorInicial = "XPTO";
Como você pode observar , a nossa variável inicia com um array, em seguida recebe um number e no final nós alteramos ela para uma string. Esse é um contexto bem estranho e acredito que difícil de ocorrer, mas caso aconteça, podemos contar com o any.
Funções
Void
Ao contrário do “any” (qualquer tipo de dado), você pode especificar um tipo void (nenhum tipo de dado), ele é muito usado em funções, para informar que ela não retorna nada.
function message(): void {
alert("hey ho let's go");
}
Retorno de dados
Como vimos no item anterior, também podemos informar um tipo para o retorno das nossas funções.
function isChecked(): boolean {
return true;
}
No exemplo acima, sempre podemos esperar que a nossa funções retorne um boolean. Bom, com isso terminamos mais um artigo sobre .ts ;)