TypeScript: Superconjunto de JavaScript que gera JavaScript

Seguindo a trilha de posts relacionados ao The Developers Conference – TDC que participarei com o ingresso que ganhei da SoftDesign (empresa que trabalho).

TypeScript é uma linguagem de programação (livre e de código aberto) desenvolvida e mantida pela Microsoft. É um superconjunto de JavaScript que gera JavaScript.

A sintaxe do TypeScript lembra um pouco a do C#, porém não tem muita diferença entre o código que tu escreve e o código gerado em JavaScript.

Classe gerada em TypeScript

Código gerado em JavaScript

Observando os dois códigos é possível notar que são muito semelhantes, na minha opinião ele é apenas um açucar sintatico para o JavaScript.

Tipos básicos

Essa linguagem de programação foi construída para facilitar a vinda de quem trabalha em linguagens de baixo nível, ou linguagens fortemente tipadas.

Boolean

Um dos tipos de dados mais simples é o verdadeiro/falso.
var isValid: boolean = true;

Number

Assim como no JavaScript os números em TypeScript são pontos fluantes, i.e. possuem casas decimais para precisão.
var height: number = 28;

String

As strings são largamente utilizadas para armazenar os textos, mensagens ao usuário. Podendo utilizar aspas simples (‘) ou aspas duplas (“) para armazenar o conteúdo.

Array

Assim como o JavaScript é possível utilizar o array em TypeScript, o ganho que nós temos aqui é que pode ser feito a declaração do tipo de dados que estaremos trabalhando.
var list:number[] = [28, 11, 31, 17];
Outra forma para declararmos o array é igual a listas do C#.
var list:Array<number> = [17, 11, 31, 28]

Enum

Muito utilizado em programação orientada a objeto para forçar os dados a serem dos tipos pré-definidos o TypeScript possui o tipo de dados Enum. O Enum é um tipo de dados que deixa mais amigável trabalhar com um conjunto de valores numéricos.

Por padrão a numeração dada aos valores do enum começa a partir do zero, porém é possível mudar o número pelo qual começará definindo o valor primário.

Podendo também ser definido todos os valores quando estão sendo criados.

Um dos recursos mais utilizados no C# quando estamos trabalhando com o Enum é a possibilidade de pegar o nome do Enum que é solicitado.

Any

Quando precisamos descrever um tipo de dados de uma variável que nós não sabemos qual será o tipo de dados a ser armazenado, e.g. quando estamos recebendo o conteúdo de um servidor de cliente, podemos definir ele como any transformando ele em um coringa. Ele faz a mesma coisa que o var do JavaScript e C#.

Void

E por último, temos o tipo de dados void que é o oposto do any. Ele é a ausência de definição de tipo de dados, largamente utilizado em funções que não retornam valores.

Considerações finais

Para quem é do mundo C# e sempre trabalhou no lado do servidor sem contato com a camada de apresentação vejo como sendo uma ótima linguagem para entrar no mundo web.
Para as pessoas que já tem experiência no mundo web não vejo como uma boa opção para trabalhar, pois é mais outra ferramenta de açúcar sintático disponível no mercado, assim como o CoffeeScript, Dart, Haxe.

Na minha visão o TypeScript veio apenas para tentar ser uma tentativa de reinventar a roda.

Considero essa uma das palestras que mais desejo ver para tentar aprofundar o conhecimento, tentar observar algum motivo pelo qual valha apena usar essa linguagem.

Outros exemplos de código gerado em TypeScript podem ser encontrados na TypeScriptLand Playground

Deixe uma resposta

Nome *
E-mail *
Site