- prompt
- alert
- confirm
- setInterval
- setTimeout
- Função anônima com argumento
- Função anônima sem argumento
- Função anônima com retorno
- Função auto-executável - não será aceita a mesma do Module Pattern
- Função com nome
- Função aninhada/local - declarar uma função dentro de outra
- Passagem de uma função como parâmetro para outra função - ambas as funções precisam ser implementadas pelo aluno
- Função Flecha - Arrow Function
- Evento de carregamento do documento - onload
- Evento de movimento do mouse
- Evento de teclado - usar charCode ou keyCode
- Eventos de formulário - usar onfocus e onblur
- Imprimir alguma propriedade/atributo do objeto event recebido como parâmetro na função tratadora de evento
- Via referência DOM pelo id do elemento HTML - acesso sem uso do getElementByID ou querySelector, o id do objeto DOM é o próprio nome da variável
- Via getElementByID()
- Via getElementsByName()
- Via getElementsByTagName()
- Via seletores CSS usados na função querySelector() ou querySelectorAll()
- Especificar o tratador de evento inline - registro do evento no HTML
- Especificar o tratador de evento no modo tradicional - registro do evento no JS com prefixo on via atributo de um objeto DOM
- Especificar o tratador de evento com a função addEventListener - registro do evento no JS
- Usar o operador this em funções tratadoras de eventos.
- Usar pelo menos 3 métodos de manipulação de array
- Usar laço de repetição (for..in ou for..of ou forEach)
- Usar pelo menos 3 métodos para manipulação de string
- String Template - a String com crase e ${}
- Manipulação do CSS de forma nativa via atributo style e classList
- Criar objeto usando função construtora ou notação literal
- (Obrigatório) Criar objetos a partir da definição de classes do ES6 - a classe precisa ser definida em arquivo separado, sendo o nome do arquivo em letras minúsculas no estilo dashed-case e nome da classe em UpperCamelCase
- Usar herança prototipal nativa ou herança de classes do ES6