TypeScript é uma linguagem de programação de código aberto desenvolvida pela Microsoft.
É um superconjunto sintático estrito de JavaScript e adiciona tipagem estática opcional à linguagem.
Esse tutorial é especialmente voltado para programadores que já conhecem JavaScript, abordará os conceitos fundamentais do TypeScript e destacará algumas das “pegadinhas” mais importantes.
O TypeScript foi desenvolvido por Anders Hejlsberg, arquiteto da linguagem C# e criador das linguagens Delphi e Turbo Pascal.
TypeScript oferece suporte a arquivos de definição que podem conter informações de tipo de bibliotecas JavaScript existentes, assim como arquivos de cabeçalho C++ podem descrever a estrutura de arquivos de objeto existentes.
O endereço oficial do TypeScript é: https://www.typescriptlang.org/.
Você pergunta:
Apesar de na própria documentação oficial do TypeScript ter escrito isso, a resposta é NÃO!
Há algumas diferenças sim, por exemplo, se você criar variáveis ou constantes(var
, let
ou const
) com o nome: name
em TypeScript, não funcionará, dará erro:
Você obterá o erro:
Isso porque o transpilador do TypeScript já usa uma declaração com esse mesmo nome de: name
. Se for usar algo para denominar um objeto ou qualquer outra coisa, use exemplos assim:
Mas, em JavaScript isso não há problema nenhum, exemplos:
Esse código abaixo, também NÃO FUNCIONA EM TypeScript!
o legal do JS é que tem vários easter eggs pic.twitter.com/Jbks00bTTX
— Terminal Root (@TerminalRootTV) May 24, 2024
console.log(++[[]][+[]]+[+[]])
No entanto, se você veio de outras linguagens de programação, você ainda contará com algumas dificuldades de entender TypeScript. Isso, por exemplo, funciona em TypeScript:
Em JS as constantes são modificáveis, isso demorou de entrar na minha mente pic.twitter.com/NVBd9ctCF3
— Terminal Root (@TerminalRootTV) May 5, 2024
Para testar os códigos TypeScript você pode escrever no Playground do TypeScript. Ou instalar o comando tsc
na sua máquina utilizando o NPM, assim:
Depois crie um código básico, por exemplo, main.ts
(extensão .ts
):
Rode o arquivo com o comando tsc
:
Após rodar esse comando ele criará um arquivo de mesmo nome, mas com extensão .js
: main.js
.
E rode usando um JavaScript runtime, exemplos: Bun, Node ou QuickJS:
Você também pode criar um ambiente de desenvolvimento, exemplo:
Isso fica mais interessante para seu LSP: Como Configurar o LSP para TypeScript no Neovim.
Você pode modificar o arquivo tsconfig.json
, e deixar assim:
Ele sempre compilará o arquivo main.ts
apenas rodando:
E criará um
main.js
dentro da pastadist
.
E rodar o arquivo JavaScript:
Ou tudo de uma só vez:
tsc && bun dist/main.js
Para mais detalhes sobre o comando tsc
use a ajuda:
O TypeScript possui tipos, por isso seu nome é: TypeScript! 😃
Não existe
float
oudouble
é tudonumber
! Mas, tem outros tipos primitivos como:bigint
,symbol
,unknown
, …
No meu caso, eu tenho o OpenGL instalado e ele definiu tipos para o TypeScript, logo, o tipo GLfloat
está disponível:
Meu LSP lista todos os tipos pra mim!
Mas, se não funcionar para você(tem que ter o OpenGL instalado no sistema), defina assim:
Há um tipo especial: any
, que você pode usar sempre que não quiser que um valor específico cause erros de verificação de digitação.
Saiba mais aqui.
Um tipo de tupla é outro tipo de Array
que sabe exatamente quantos elementos contém e exatamente quais tipos contém em posições específicas.
Enums permitem que um desenvolvedor defina um conjunto de constantes nomeadas. O uso de enums pode facilitar a documentação da intenção ou a criação de um conjunto de casos distintos. TypeScript fornece enumerações numéricas e baseadas em string.
Uma declaração de interface é outra maneira de nomear um tipo de objeto:
Interface
Classe
Note:
name
está dentro de uma classe! 😃
|
) e interseção (&
) para maior flexibilidade.import
e export
) para organizar seu código.Note: Declarei a variável
name
, mas como argumento de função!
Após compilar e rodar:
Como vamos usar a função process.stdout.write()
precisamos instalar o @types/node
, então rode:
Agora leia o código devidamente comentado com explicação de cada bloco:
Rode e não esqueça de jogar esses números! 😃
TypeScript oferece uma poderosa maneira de escrever JavaScript com tipos facilitando a manutenção do código.
Com os fundamentos acima, você deve estar bem equipado para começar a usar TypeScript em seus projetos. Lembre-se de aproveitar os recursos do TypeScript para criar código mais robusto.
Dê prosseguimento ao seu aprendizado e consulte a documentação no site oficial.