JavaScript
Introdução
- Introdução ao JavaScript
- Comentários de código
- Meios de exibir dados para o usuário
- Padrão de nomenclatura de variáveis
- Variáveis do tipo LET
- Variáveis do tipo CONST
- Variáveis do tipo VAR
- Diferenças no escopo entre VAR, LET e CONST
- Tipos de dados primitivo
- Valores por referência
- Tipo de dado NUMBER
- Métodos do tipo de dado NUMBER
- Tipo de dado STRING
- Métodos do tipo de dado STRING
- Tipo de dado SYMBOL
- Operadores aritméticos
- Operadores de incremento e decremento
- Operadores de atribuição
- Atenção aos tipos de dados em operadores
- Operadores de comparação
- Operadores lógicos
- Avaliação de Curto-Circuito
- Node Package Manager - NPM
- Objeto MATH
- Métodos do objeto MATH
- Objeto DATE
- Função setTimeout
- Função setInterval
Estrutura de controle
Estruturas de repetição
- Estrutura de repetição FOR no JavaScript
- Operador IN em loops
- Operador OF em loops
- Estrutura de repetição FOREACH no JavaScript
- Estrutura de repetição WHILE
- Estrutura de repetição DO-WHILE
- Break e Continue
Tratamento de exceções
Funções
- Introdução a funções
- Funções anônimas
- Parâmetros de funções
- Escopo léxico
- Closures
- Funções construtoras
- Função - Objeto de primeira classe
- Comportamento do THIS em funções
- Funções fábrica
- Funções de callback
- Callback Hell
- Funções geradoras
- Funções imediatas - IIFE
- Funções recursivas
- Function Hoisting
Estruturas de dados
Array
- Introdução à Arrays
- Métodos de Array
- Atribuição via desestruturação em arrays
- Concatenação de Arrays
- Método FOREACH
- Método FILTER
- Método MAP
- Método REDUCE
Map
Prototype
- Prototype
- [[Diferença entre prototype e proto]]
- Manipulando Prototypes
- Função construtora com Prototype
- Hierarquia dos membros de um objeto com prototype
- Herança com Prototype
Métodos úteis da classe Object
- Método Object.defineProperty
- Método Object.defineProperties
- Método Object.assign
- Método Object.getOwnPropertyDescriptor
- Método Object.keys
- Método Object.entries
- Método Object.values
- Método Object.freeze
Módulos
Programação Orientada à Objetos
- Introdução a objetos
- Copiar atributos de um objeto
- Métodos acessores
- Operador IN em objetos
- Spread operator em objetos
- Atribuição via desestruturação em objetos
- Classes no JavaScript
- Métodos de instância
- Métodos estáticos
- Herança no JavaScript
- Composição de objetos com Mixins
- Polimorfismo no JavaScript