Learn TypeScript
A free, interactive TypeScript course built on top of JavaScript. You write TS on every lesson - type annotations, interfaces, generics, unions, narrowing - with AI hints when you get stuck and a certificate when you finish. Part of the wider JavaScript journey, so the JS context that makes TypeScript click is right there.
253,075+ codders inscritos
- Ideal para iniciantes
Ajuda de codificação com IA
Lições interativas e práticas
Narração em áudio em todas as lições
Questionários para testar seu conhecimento
Certificado grátis de conclusão
Programa
Esta seção faz parte do Journey de JavaScript. O programa completo tem mais seções - clique em qualquer prévia abaixo para vê-la na página do Journey.
- Seção 1Fundamentos77 lições
- Seção 2Lógica & Fluxo65 lições
Seção 1
Introdução ao TypeScript
Começar seçãoIniciarExpandirRecolherIntrodução ao TypeScript após aprender sobre JavaScriptPrimeiros Passos com TS
5 lições232- 01O que é TypeScript?Quiz
- 02Por que usar TypeScript?Quiz
- 03Seu Primeiro Código TypeScriptDesafioQuiz
- 04Processo de Compilação e ErrosQuiz
- 05Recapitulação: Introdução ao TSDesafio
Tipos Principais
7 lições748- 01Tipos Básicos: str, num, booleanDesafioQuiz
- 02O Tipo 'any': Válvula de EscapeDesafioQuiz
- 03O Tipo 'unknown'DesafioQuiz
- 04Trabalhando com 'null' e 'undef'DesafioQuiz
- 05Inferência de Tipo na PráticaDesafioQuiz
- 06Anotações de Tipo ExplícitasDesafioQuiz
- 07Recapitulação: Prática de Tipos PrincipaisDesafio
Estrutura de Dados: Arrays e Tuplas
9 lições862- 01Arrays TipadosDesafioQuiz
- 02Modificador 'readonly' para ArraysDesafioQuiz
- 03O que é uma Tupla?Quiz
- 04Declarando e Acessando TuplasDesafioQuiz
- 05Desestruturando TuplasDesafioQuiz
- 06Tuplas ReadonlyDesafioQuiz
- 07Arrays Tipados MultidimensionaisDesafioQuiz
- 08Spread Operator com ArraysDesafioQuiz
- 09Recapitulação: Arrays e TuplasDesafio
Trabalhando com Funções
8 lições855- 01Tipagem de Parâmetros e RetornosDesafioQuiz
- 02Tipagem de Arrow FunctionsDesafioQuiz
- 03O Tipo de Retorno 'void'DesafioQuiz
- 04Parâmetros Opcionais com '?'DesafioQuiz
- 05Valores Padrão de ParâmetrosDesafioQuiz
- 06Tipagem de Rest ParametersDesafioQuiz
- 07Definindo Tipos de FunçõesDesafioQuiz
- 08Recapitulação: Criando Funções TipadasDesafio
Tipos: Aliases, Uniões e Interseções
7 lições751- 01Aliases de Tipos para PrimitivosDesafioQuiz
- 02Tipos de União ('|')DesafioQuiz
- 03Trabalhando com Tipos de UniãoDesafioQuiz
- 04Tipos LiteraisDesafioQuiz
- 05Tipos de Interseção ('&')DesafioQuiz
- 06Combinando Aliases de TiposDesafioQuiz
- 07Recapitulação: Combinações Avançadas de TiposDesafio
Tipagem de Objetos e Interfaces
8 lições757- 01Anotações de Tipo de Objeto InlineDesafioQuiz
- 02Type Aliases para ObjetosDesafioQuiz
- 03Introdução a InterfacesDesafioQuiz
- 04Interfaces vs. Type AliasesQuiz
- 05Props Opcionais e ReadonlyDesafioQuiz
- 06Estendendo Interfaces e TiposDesafioQuiz
- 07Adicionando Métodos a InterfacesDesafioQuiz
- 08Recapitulação: Definindo Formatos de ObjetosDesafio
Projeto: Uma Lista de Tarefas Simples
Projeto6 lições18- 01Projeto: Definindo a Struct de TarefaDesafioQuiz
- 02Função para Adicionar uma TarefaProjeto
- 03Função para Alterar o Status da TarefaProjeto
- 04Função: Listar Tarefas por StatusProjeto
- 05Função: Imprimir Resumo das TarefasProjeto
- 06Juntando TudoProjeto
Enums
6 lições638- 01O que é um Enum Numérico?DesafioQuiz
- 02Usando Enums NuméricosDesafioQuiz
- 03O que é um Enum de String?DesafioQuiz
- 04Usando Enums de StringDesafioQuiz
- 05Enums HeterogêneosDesafioQuiz
- 06Recapitulação: Usando EnumsDesafio
Generics: Uma Primeira Olhada
6 lições537- 01O Problema que Generics ResolvemQuiz
- 02Criando uma Função de Identidade GenéricaDesafioQuiz
- 03Usando uma Função GenéricaDesafioQuiz
- 04Arrays GenéricosDesafioQuiz
- 05Interfaces GenéricasDesafioQuiz
- 06Recapitulação: Prática de Funções GenéricasDesafio
Projeto: Gerenciamento de Inventário
Projeto5 lições18- 01Projeto: Item de Inventário GenéricoDesafioQuiz
- 02Função: Adicionar Itens ao InventárioProjeto
- 03Função para Buscar um Item por IDProjeto
- 04Criar Tipo de Inventário EspecíficoProjeto
- 05Função para Obter Detalhes do ItemProjeto
Tópicos Avançados
6 lições642- 01Asserções de TipoDesafioQuiz
- 02Type Guards: in & instanceofDesafioQuiz
- 03O Tipo 'never'DesafioQuiz
- 04Tipos Anuláveis ('strictNull')DesafioQuiz
- 05Assinaturas de Índice para ObjetosDesafioQuiz
- 06Recapitulação: Refinando TiposDesafio
- Seção 4Programação Orientada a Objetos56 lições
Why learn TypeScript with Coddy
- Write TypeScript in your browser. No
tscinstall, no editor setup, notsconfig.jsonto wrangle. The editor and output sit side-by-side so you see what each type does instantly. - Modern TypeScript: type annotations, interfaces, generics, union and intersection types, narrowing, utility types, and how TS layers on top of plain JavaScript without changing what runs at runtime.
- AI hints help you read TypeScript errors - the famously long ones - without spoiling the fix, so you build the mental model that makes future TS code easier to write.
- Free TypeScript certificate when you finish the section. A credible signal that you can read and write idiomatic TS, not just JavaScript with sprinkled types.
Frequently asked questions about learning TypeScript
What is TypeScript?
TypeScript is a superset of JavaScript that adds optional static typing. Valid JavaScript is valid TypeScript, but TS lets you annotate variables, function parameters, and return values with types - the compiler then catches mistakes before your code runs. At runtime, TypeScript compiles down to plain JavaScript.
Is TypeScript hard to learn?
If you're comfortable with JavaScript, the basics of TypeScript are quick to pick up - adding
: string or : number to a few variables and you're already writing TS. The trickier parts (generics, conditional types, mapped types, narrowing) take longer, and this course introduces them in small steps with hands-on examples.Do I need to know JavaScript before TypeScript?
Yes. TypeScript is JavaScript with types on top, so the language you're really learning is JS. This TypeScript section is part of the JavaScript journey for that reason - you can take the JS sections first, or jump straight to TS if you're already comfortable with modern JavaScript.
What's the difference between TypeScript and JavaScript?
JavaScript is dynamically typed - a variable can hold a string today and a number tomorrow, and you only find out at runtime. TypeScript adds a static type layer that runs at build time, catching type mismatches before the code ships. The compiled output is still plain JavaScript, so it runs anywhere JS does.
Can I learn TypeScript online for free?
Yes. The interactive TypeScript section is free - full lessons, coding exercises, quizzes, and a certificate. The editor runs in your browser with the TS compiler built in, so you don't need to install
tsc, Node, or any tooling to start writing TypeScript.Do I get a certificate after the TypeScript course?
Yes. Finishing the TypeScript section gives you a free certificate of completion you can share on LinkedIn or include on your resume. A verifiable signal that you've worked through structured, hands-on TypeScript material, not just watched tutorials.