SlideShare uma empresa Scribd logo
Começamos em instantes...
Hypescript Typescript!!
Uma breve introdução.
Cristiano Gonçalves
Cristiano
Gonçalves
Desenvolvedor FrontEnd
● React
● Typescript
● Mobx
● SCSS
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".
“
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".
“
Antes de prosseguir...
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.
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
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.
Exemplo em JS
Exemplo em JS
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.
Hypescript Typescript!!  Uma breve introdução
https://github.com/cezaraugusto/You-Dont-Know-JS
Hypescript Typescript!!  Uma breve introdução
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.
Hypescript Typescript!!  Uma breve introdução
A queridinha da web...
Pesquisa do stack overflow sobre as linguagens mais amadas em 2019.
A queridinha da web...
Pesquisa do stack overflow sobre as linguagens mais amadas em 2020.
A queridinha da web...
Pesquisa do stack overflow sobre as linguagens mais amadas em 2016.
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.
Hypescript Typescript!!  Uma breve introdução
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.
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.
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.
Hypescript Typescript!!  Uma breve introdução
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.
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.
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.
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.
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.
Tipando arrays
Tipar arrays é algo bem
simples, basicamente
podemos definir um array
type de duas formas.
Preciso tipar tudo?
Hypescript Typescript!!  Uma breve introdução
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.
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.
Hypescript Typescript!!  Uma breve introdução
Hypescript Typescript!!  Uma breve introdução
Hypescript Typescript!!  Uma breve introdução
Utility Types
Typescript oferece diversos
utilitários para facilitar no
manuseio e na
transformação de tipos.
Omit, pick, Readonly
Omit, pick, Readonly
Omit, pick, Readonly
Hypescript Typescript!!  Uma breve introdução
Hypescript Typescript!!  Uma breve introdução
Loiane Groner
Loiane Groner
Hypescript Typescript!!  Uma breve introdução
Obrigado!!
Perguntas?
https://www.instagram.com/_love.bits/
https://twitter.com/Gonkristiano
https://blog.matheuscastiglioni.com.br/como-funciona-a-transpilacao-de-codigo-do-babel/
https://medium.com/@oieduardorabelo/typescript-imutabilidade-em-tempo-de-
compila%C3%A7%C3%A3o-em-typescript-8067fd9751f5
https://eusoudev.com.br/javascript-typescript/
https://www.ramosdainformatica.com.br/programacao/javascript/typescript-3-5-os-novos-recursos-do-
typescript/
https://medium.com/@matheusmariano/o-m%C3%ADnimo-que-voc%C3%AA-precisa-saber-sobre-
typescript-58d1b418f78b

Mais conteúdo relacionado

PPTX
Apresentação Introdução Typescript - .Net Caxias do Sul
PDF
Palestra: Introdução à TypeScript & Features Ts 2.x
PPTX
TypeScript - Campus party 2013
PPTX
Javascript para CSharpers 1 - Comparando
PPTX
TypeScript em Aplicações Modernas
PPTX
TDC2016SP - TypeScript em aplicações modernas
PPTX
PDF
JavaScript - A Linguagem
Apresentação Introdução Typescript - .Net Caxias do Sul
Palestra: Introdução à TypeScript & Features Ts 2.x
TypeScript - Campus party 2013
Javascript para CSharpers 1 - Comparando
TypeScript em Aplicações Modernas
TDC2016SP - TypeScript em aplicações modernas
JavaScript - A Linguagem

Semelhante a Hypescript Typescript!! Uma breve introdução (20)

PPTX
TypeScript no Back-end e no Front-end
PDF
Codelab: TypeScript
PPTX
Desvendando a linguagem JavaScript
PDF
JS FUNDAMENTOS - AULA 01.pdf
PDF
JavaScript agora é sério (TDC 2011)
PPTX
Hands On JavaScript
PDF
Tutorial java script orientado à objeto e jquery
PPTX
Javascript basics
PDF
T04_LM3: Javascript (2013-2014)
PPTX
[JS EXPERIENCE 2018] Nada é por acaso, nem os tipos no JS - Diego Pinho, Code...
PDF
JavaScript
PPTX
Typescript
PDF
JavaScript: agora é sério
PDF
PPT
aula de introdução a ecamscript e typescript
PPTX
Introdução ao Native Script
PDF
TechEd Brasil 2011: WEB 302 - Presente e futuro da linguagem de programação J...
PDF
PPT
tipos.ppt
TypeScript no Back-end e no Front-end
Codelab: TypeScript
Desvendando a linguagem JavaScript
JS FUNDAMENTOS - AULA 01.pdf
JavaScript agora é sério (TDC 2011)
Hands On JavaScript
Tutorial java script orientado à objeto e jquery
Javascript basics
T04_LM3: Javascript (2013-2014)
[JS EXPERIENCE 2018] Nada é por acaso, nem os tipos no JS - Diego Pinho, Code...
JavaScript
Typescript
JavaScript: agora é sério
aula de introdução a ecamscript e typescript
Introdução ao Native Script
TechEd Brasil 2011: WEB 302 - Presente e futuro da linguagem de programação J...
tipos.ppt
Anúncio

Último (19)

PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Apple Pippin Uma breve introdução. - David Glotz
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Aula04-Academia Heri- Tecnologia Geral 2025
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Custos e liquidação no SAP Transportation Management, TM130 Col18
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
COBITxITIL-Entenda as diferença em uso governança TI
Aula 18 - Manipulacao De Arquivos python
Processos na gestão de transportes, TM100 Col18
Apple Pippin Uma breve introdução. - David Glotz
Anúncio

Hypescript Typescript!! Uma breve introdução