Linguagem de Programação TypeScript
Versão 2.2.0
Duração do curso – 20 horas
Objetivo do Curso
Ensinar aos alunos a linguagem de programação TypeScript, capacitando-os
a selecionar os mecanismos e construções apropriados para resolver
diferentes tipos de problemas.
Ao Final do Curso
- Dominar os fundamentos da linguagem TypeScript
- Compreender tipos de dados, variáveis e constantes
- Utilizar estruturas de controle: condicionais e laços
- Criar e configurar funções
- Entender os conceitos de Programação Orientada a Objetos (POO)
- Aplicar mecanismos de herança
- Desenvolver classes abstratas e interfaces
- Trabalhar com mecanismos de generics
- Entender e usar mixins
- Criar namespaces
- Integrar e usar módulos
Avaliação do Curso
Ao término do curso, os alunos realizarão um exame teórico e uma tarefa
prática com base no conteúdo abordado.
Critérios para aprovação:
- Entrega de todos os exercícios práticos e tarefas de casa
-
A tarefa prática deve cobrir ao máximo os tópicos abordados no curso
Conteúdo Programático
Módulo 1: Introdução ao TypeScript (4 horas)
- O que é TypeScript?
- História do TypeScript
- Objetivos e propósitos do TypeScript
- Instalação do TypeScript
- Compilação de aplicativos TypeScript
- Tipos de dados
- Variáveis e constantes
- Saída no console
-
Operadores condicionais:
-
Laços:
-
Palavras-chave:
- Arrays
Módulo 2 (2 horas)
Funções
- Criação de funções
-
Passagem de parâmetros
- Parâmetros obrigatórios
- Parâmetros opcionais (valores padrão)
- Número indefinido de parâmetros
- Valor de retorno
- Sobrecarga de funções
-
Tipo de função
- Definição
- Criação de variáveis com tipo de função
- Função como parâmetro
- Funções anônimas
- Funções arrow
Módulo 3 (6 horas)
Programação Orientada a Objetos (POO)
-
Introdução à POO no TypeScript
- Encapsulamento
- Polimorfismo
- Herança
- Classes e objetos
- Modificadores de acesso
- Propriedades e métodos da classe
- Construtores
- Propriedades e métodos estáticos
- Getters e Setters
-
Herança
- Palavra-chave
extends
- Comportamento dos construtores na herança
- Sobrescrita de métodos
- Classes abstratas e métodos abstratos
-
Interfaces
- Definição e objetivos
- Interfaces de objetos e classes
- Declaração de interfaces
- Propriedades opcionais e somente leitura
- Herança entre interfaces
- Interfaces para funções e arrays
- Interfaces híbridas
Módulo 4 (2 horas)
Generics
- Generics (Tipos Genéricos)
- Objetivos e vantagens
- Arrays genéricos
- Funções genéricas
- Classes genéricas
- Interfaces genéricas
- Restrições nos genéricos
Módulo 5 (4 horas)
Mixins, Namespaces e Módulos
-
Mixins
- Definição e objetivos
- Palavra-chave
implements
- Exemplos práticos
-
Namespaces (Espaços de nomes)
- Definição
- Declaração e sintaxe
- Exemplos práticos
- Namespaces aninhados
- Apelidos para namespaces
-
Módulos
- Introdução
- Definição e objetivos
- Exportação e importação de módulos
- Carregamento de módulos
- Uso de arquivos de declaração (
.d.ts
)
-
Decorators (Decoradores)
- Introdução
- Objetivos
- Decoradores para classes, métodos e propriedades
- Fábricas de decoradores
- Exemplos práticos