Introdução
  • Introdução do Curso
  • Mensagem do Maximilian Schwarzmüller
  • O que é TypeScript?
  • Por que TypeScript e Como usá-lo?
  • Instalando TypeScript
  • Executando TypeScript - Manual
  • Executando TypeScript - Code Runner
  • Executando TypeScript - HTML
  • Recursos do Módulo & Links Úteis
Usando Tipos
  • Introdução do Módulo
  • O Básico de Tipos
  • Tipos Numéricos e Booleano
  • Atribuindo Tipos Explícitos
  • Arrays e Tipos
  • Tuplas
  • Enums
  • O Tipo "Any"
  • Código JavaScript Gerado
  • Usando Tipos em Funções (Parâmetros e Retorno)
  • Funções Como Tipos
  • Objetos e Tipos
  • Desafio Tipo Objetos
  • Desafio Tipo Objetos - Resposta
  • Definindo Tipos Personalizados (Alias)
  • Múltiplos Tipos com Union Types
  • Checando Tipos em Runtime
  • O Tipo "Never"
  • Valores Opcionais com Tipo "Null"
  • Desafio: Transformar Código JS em TS
  • Desafio: Transformar Código JS em TS - Código
  • Desafio: Transformar Código JS em TS - Resposta
  • Conclusão do Módulo
  • Recursos do Módulo & Links Úteis
Entendendo o Compilador TypeScript
  • Introdução do Módulo
  • Compilação e "noEmitOnError"
  • Alterando o Target (Versão do JavaScript)
  • Debugando com Source Maps
  • Evitando "Any" Implícito
  • "strictNullChecks", "noUnusedParameters" e "noUnusedLocals"
  • Diretório de Saída
  • Arquivo de Saída
  • Conclusão do Módulo
  • Recursos do Módulo & Links Úteis
TypeScript e os Novos Recursos ECMAScript
  • Introdução do Módulo
  • Let e Const #01
  • Let e Const #02
  • Arrow Function #01
  • Arrow Function #02
  • Parâmetro Padrão
  • Operador Spread & Rest #01
  • Operador Spread & Rest #02
  • Operador Spread & Rest #03
  • Operador Destructuring (Array)
  • Operador Destructuring (Objeto)
  • Template String
  • Desafio ECMAScript
  • Desafio ECMAScript - Código
  • Desafio ECMAScript - Resposta
  • Atualização
  • Promises
  • Conclusão do Módulo
  • Recursos do Módulo & Links Úteis
Usando Classes para Criar Objetos
  • Introdução do Módulo
  • Classes & Atributos #01
  • Classes & Atributos #02
  • Desafio Classe Produto
  • Desafio Classe Produto - Resposta
  • Classes & Métodos
  • Desafio Método
  • Desafio Método - Resposta
  • Modificadores de Acesso
  • Herança #01
  • Herança #02
  • Getters & Setters
  • Membros Estáticos
  • Classe Abstrata
  • Construtor Privado & Singleton
  • Atributos Somente Leitura
  • Desafio do Módulo
  • Desafio do Módulo - Código
  • Desafio do Módulo - Resposta
  • Conclusão do Módulo
  • Recursos do Módulo & Links Úteis
Módulos e Namespaces
  • Introdução do Módulo
  • Introdução a Namespaces
  • Namespaces Aninhados
  • Namespaces em Múltiplos Arquivos
  • Namespaces Imports
  • Limitação dos Namespaces
  • Módulos
  • Instalando SystemJS 0.x
  • Carregando Módulos
  • Importando e Exportando Módulos
  • A propriedade "module" no TSConfig