4. Um tempo atrás eu fazia cara feia
só de ouvir o nome typescript...
Pra mim não fazia sentido deixar de
aproveitar a tipagem dinâmica
nativa do javascript e usar uma
tipagem estática e "engessada".
“
5. Um tempo atrás eu fazia cara feia
só de ouvir o nome typescript...
Pra mim não fazia sentido deixar de
aproveitar a tipagem dinâmica
nativa do javascript e usar uma
tipagem estática e "engessada".
“
7. Javascript é uma linguagem muito permissiva e simples, ela não tem tipagem
forte e isso torna seu aprendizado mais fácil, porém, com grandes poderes vem
grandes responsabilidades. Toda a liberdade que o javascript oferece pode ser
muito perigosa caso você não saiba exatamente o que está fazendo.
8. Apesar do JavaScript ser talvez uma das linguagens mais
fáceis de se começar, suas excentricidades fazem com que o
domínio sólido da linguagem seja muito menos comum do
que em outras linguagens. Enquanto se precisa um
conhecimento aprofundado em linguagens como C ou C++
para escrever um programa em grande escala, uma
aplicação similar em JavaScript pode ser desenvolvida, e
muitas vezes é, apenas arranhando parte do que a
linguagem pode fazer de verdade
“
Kyle Simpson
9. Tipos de linguagens de programação
● Linguagens fortemente tipadas ou estáticas: são linguagens onde você é
obrigado a declarar o tipo do dado. Ex: Java, C++, C#
● Linguagens fracamente tipadas ou dinâmicas: são linguagens onde a
conversão é feita durante a execução do programa e sem a necessidade
do programador forçar a conversão. Ex: PHP, Javascript, Ruby, Python.
12. Trabalhar com a tipagem dinâmica do
javascript é como andar em um labirinto...
Você não sabe onde está, mas quando
pensa que sabe tudo pode mudar muito
rápido e acabar te deixando confuso.
16. O que é?
É um superset para javascript que adiciona tipagem forte e
alguns outros recursos para a linguagem.
Ela foi criada pela Microsoft em meados de 2012 e vem
caindo no gosto dos programadores.
17.
18. A queridinha da web...
Pesquisa do stack overflow sobre as linguagens mais amadas em 2019.
19. A queridinha da web...
Pesquisa do stack overflow sobre as linguagens mais amadas em 2020.
20. A queridinha da web...
Pesquisa do stack overflow sobre as linguagens mais amadas em 2016.
21. Como funciona?
Typescript funciona apenas em tempo de execução. O que
isso quer dizer? Enquanto você estiver escrevendo seu
código ele vai ser typescript, mas quando você fazer o build
e acessar no seu navegador ele será exatamente o javascript
comum que você já conhece. Tá! Pode não ter ficado tão
claro assim, mas vamos ao código.
22.
23. Como funciona?
Typescript funciona em tempo de execução. Em outras
palavras, todas as verificações e validações são feitas
enquanto estamos desenvolvendo nossos programas. No
momento em que saímos do “dev-mode” todo nosso código
vira um javascript comum que qualquer navegador consegue
interpretar.
24. Como funciona?
Essa transformação, também conhecida como transpilação,
é feita com ajuda de ferramentas como babel, ts-node,
webpack, parcel etc.
É importante lembrar que transpilar !== compilar. Quando
compilamos transformamos uma linguagem de alto nível em
uma de nível mais baixo.
25. Como funciona?
Quando transpilamos a gente mantém o nível da linguagem.
Ou seja, javascript continua sendo javascript e não um
código de máquina.
26.
27. Tipando o básico
No javascript a gente simplesmente declara uma variável e o seu tipo é inferido e
pode ser alterado em todo nosso código.
No typescript a inferência de tipos também acontece, a diferença é que nele,
podemos apontar qual o tipo e não conseguimos alterá-lo mais.
28. Tipando o básico
Podemos apontar um tipo
de forma explícita usando
alguns tipos já conhecidos
do javascript e alguns tipos
"estranhos": number,
string, boolean, null,
undefined, any, never e
void.
29. Any
Any é exatamente a tradução literal: qualquer. Em outras
palavras, algo declarado como any pode receber um number
e depois uma string sem nenhum problema.
30. Void
Também conseguimos tipar
o retorno de uma função
ou os parâmetros que ela
vai receber. Utilizamos o
void quando queremos
representar o vazio,
quando uma função não
tem retorno, por exemplo.
31. Never
O never representa valores
que nunca ocorrem, por
exemplo, o retorno de uma
função com while(true).
Algo interessante é que
never pode ser atribuído
para qualquer tipo, porém
algo do tipo never só aceita
valores never.
35. Inferência de tipos
Na maioria dos casos o typescript vai descobrir qual é o tipo
sozinho. Quando ele não saber qual tipo colocar ele vai
tornar sua variável implicitamente any.
36. Interfaces , Types e enums
Nem sempre os tipos
básicos vão ser necessários
para atender nossa
aplicação. É por isso que
podemos criar nossas
estrutura fazendo
composições entre tipos
básicos e tipos
personalizados.