JavaScript Avançado - Versão 1.2.0
Duração
28 horas (14 aulas)
Objetivo do Curso
Ensinar o aluno a usar o JavaScript no navegador e a interagir com o DOM.
Ensinar como escolher os mecanismos e designs corretos para uma determinada tarefa.
Ao Final do Curso
- Ser capaz de serializar e fazer parse de dados usando JSON
- Aplicar promessas, async/await
- Conhecer os princípios da criação de consultas assíncronas
- Compreender os conceitos de evento e manipulador de eventos
- Criar funções manipuladoras de vários eventos
- Compreender as sutilezas do DOM
- Ser capaz de interagir com objetos DOM
- Compreender as sutilezas da implementação de scripts de cliente para diferentes navegadores
- Conhecer os princípios de criação de formulários e análise de dados do usuário usando expressões regulares
- Saber como salvar os dados do usuário usando o mecanismo de cookies
Ao final do curso, o aluno fará um trabalho prático e um exame teórico sobre os materiais do curso.
Para se qualificar para o exame, todos os trabalhos de casa e as tarefas práticas devem ser aprovados.
A tarefa prática deve abranger no máximo o material das várias seções do curso.
Conteúdo Programático
Módulo 1: JSON (2 horas)
- O que é JSON?
- Metas e objetivos do JSON
- Sintaxe do JSON
- Objeto JSON
- O que é serialização?
- O que é parsing?
- Métodos
stringify
e parse
- Configuração da serialização personalizada em JSON – método
toJSON
Módulo 2: Promessas, async/await (4 horas)
- Programação síncrona e assíncrona
- Função normal e função de retorno de chamada (callback)
Promise
- O que é uma promise?
- As metas e os objetivos de promise
- Como criar uma promise
- Usar
then
- Usar
catch
- Cadeia de promises
- Tratamento de erros
Promise.all()
, Promise.race()
, Promise.allSettled()
, Promise.any()
- Casos práticos de uso
async/await
- O que é
async
?
- O que é
await
?
- Conversão de uma cadeia de promises em async/await
- Tratamento de erros
- Exemplos práticos de uso
Módulo 3: Interação com o servidor (2 horas)
- Por que a interação com o servidor é necessária?
- Solicitações
- O que é HTTP?
- Princípios básicos
Response
, Request
- Métodos HTTP: GET, POST, PUT, DELETE, PATCH
- Códigos de resposta
XMLHttpRequest
- O que é?
- Metas e objetivos
- Métodos e propriedades
- Envio de solicitações (GET, POST, formulário)
- Casos práticos de uso
- API
fetch
- O que é?
- Metas e objetivos
- Envio de solicitações (GET, POST, formulário)
- Casos práticos de uso
Módulo 4: BOM e DOM (4 horas)
- O que é o Browser Object Model?
- Objetos do BOM:
Window
, Navigator
, Screen
, Location
, History
, Frames
- O que é Document Object Model?
- Diferenças entre DOM e BOM: quando usar cada um
- Representação de um documento HTML como árvore
- Objetos DOM: nós, hierarquia, pais e filhos
- Propriedades e métodos do DOM – modelo de eventos
- Alteração da árvore DOM
- Objetos Document e Link
- Gerenciamento de seleção e intervalo de texto:
Selection
e TextRange
- Características do DOM em HTML5
Módulo 5: Manipulação de eventos (6 horas)
- O que é um evento?
- O que é um manipulador de eventos?
- Manipulação de eventos em scripts
- Gerenciamento de estilos de elementos da página
- Objeto de evento e suas propriedades
- Manipuladores padrão e prevenção
- Objeto de imagem: gerenciamento de imagens e rollovers
Módulo 6: Formulários (4 horas)
- Aplicação e criação de formulários em HTML
- Coleção de
forms
- Elementos de formulário:
- Botões:
Button
, Submit
, Reset
- Campos de texto:
Text
, Password
, File
, Textarea
- Campo oculto:
Hidden
- Caixa de seleção:
Checkbox
- Switch:
Radio
- Listas:
Select
, Option
- Exemplos práticos de uso
Módulo 7: Validação de formulários e uso de cookies (4 horas)
- Expressões regulares
- O que são?
- Regras de escrita
- Objeto
RegExp
- Métodos de
String
e RegExp
- Exemplos práticos
- Validação de formulários
- Usando HTML5
- Usando expressões regulares
- Cookies
- O que são?
- Vantagens e desvantagens
- Criação, uso e exclusão
- Exemplos práticos
Módulo 8: Exame (2 horas)