JavaScriptIntrodução ao JavaScriptO que é JavaScriptPrimeiro programa em JavaScriptExecutando código JavaScriptConexão de um arquivo JavaScript externoConsole do navegador e console.logFundamentosVariáveis e constantesTipos de dadosOperações aritméticasOperações bit a bitOperadores de Comparação e LógicosOperadores condicionaisConversões de dadosIntrodução aos arraysEstruturas condicionaisLaçosDepuração e DepuradorProgramação FuncionalFunçõesParamentros de funçãoResultado da funçãoFunções arrowEscopo de variáveisClosuresFunções IIFEFunções recursivasSobrescrevendo comportamentos em funçõesHoistingPassagem de parâmetros por valor e por referênciaProgramação Orientada a ObjetosObjetosPalavra-chave thisObjetos aninhados e arrays em objetosCopiando e comparando objetosVerificação da existência e iteração de métodos e propriedadesObjeto como resultado de uma funçãoFunções construtoras de objetosProtótiposMétodos call e applyFunção Object.create. Configuração de propriedades de objetosHerança de protótiposHerança de protótipos de construtoresEncapsulamento de Propriedades: Getters e SettersDesestruturaçãoO operador de encadeamento opcionalComo Tornar Objetos Imutáveis em JavaScriptClassesDefinição de classesCampos e métodos privadosCampos e métodos estáticosPropriedades e métodos de acessoHerançaArraysCriação de arraysArrays e o operador spreadOperações com arraysHerança de arraysStrings e Expressões RegularesStrings e seus MétodosTemplate stringsObjeto RegExp. Expressões regularesSintaxe de expressões regularesQuantificadores em expressões regularesBusca em stringGrupos em expressões regularesExpressões regulares nos métodos da stringTratamento de Errostry...catch...finallyLançando erros com o operador throwTipos de errosLidando com erros e a pilha de chamadas de funções em JavaScriptObjetos PredefinidosTrabalhando com o Objeto Date em JavaScriptOperações matemáticas com o objeto MathO objeto NumberSímbolosProxyColeções e IteradoresIteradoresGeradoresConjuntos SetMapWeakSetWeakMapTrabalhando com DOMIntrodução ao DOMPropriedades do objeto documentBusca de elementos em páginas webNavegando pelo DOM com o Objeto NodeTrabalhando com Elementos do DOM em JavaScriptCriando, adicionando, substituindo e removendo elementos do DOMGerenciando atributos de elementos do DOMAlterando o estilo de elementos do DOMCriando seu próprio elemento HTMLEventosIntrodução aos eventosManipuladores de eventosPassando dados para o manipulador de eventos: Objeto EventPropagação de eventosEventos de mouseEventos de tecladoDisparando eventos programaticamenteCriando eventos personalizadosDrag and Drop APIImplementando arrastar e soltarManipulando dados de elementos arrastados com DataTransferTrabalhando com FormuláriosTrabalhando com formulários HTMLTrabalhando com botõesTrabalhando com campos de textoTrabalhando com caixas de seleção e botões de opçãoLista selectValidação Nativa de FormuláriosValidação Programática de FormuláriosTrabalhando com o navegador e o BOMBrowser Object Model e o objeto WindowJanelas de diálogo e pesquisa em páginasAbrindo, fechando e posicionando janelasHistórico do navegador: History APIObjeto locationObjeto navigatorTemporizadoresFormatos JSON e XMLTrabalhando com JSONTrabalhando com XMLArmazenamento de DadosCookiesWeb StorageIndexedDB APIGerenciando banco de dadosGerenciando objetos de armazenamentoExecutando consultasAdicionando registrosConsulta de registrosAtualizando registrosObtendo a quantidade de registrosRemovendo registrosCursoresProgramação AssíncronaProgramação AssíncronaIntroduzindo PromisesObtendo o resultado de uma operação com PromiseTratando erros com PromiseCriando cadeias de PromisesPromise.all, Promise.allSettled, Promise.any e Promise.raceAsync e AwaitIteradores assíncronosGeradores assíncronosRequisições AJAX e XMLHttpRequestObjeto XMLHttpRequestRequisições AJAX e XMLHttpRequestCarregando XML com XMLHttpRequestCarregando JSON com XMLHttpRequestEnviando dados em uma solicitação AJAXEnviando formulários com requisição AJAXPromise em uma requisição AJAXFetch APIFunção fetchObtendo resposta: Objeto Response e suas propriedadesObtendo dados da respostaConfigurando parâmetros de requisição e enviando dadosCriando um cliente para REST APIWebSocket API e Eventos Enviados pelo ServidorWebSocket APIEventos enviados pelo servidorMódulosIntrodução aos módulosExportando e importando componentes de módulosExportação e importação defaultUtilizando aliases na exportação e importaçãoCarregando módulos dinamicamenteFile APIManipulando arquivosLendo arquivos com FileReaderMonitorando progresso de upload de arquivosWeb Workers APIDefinindo e implementando Web WorkersComunicação entre Web Workers e o thread principalOutros APIs da WebGeolocationBattery Status APIWeb Speech API: Síntese de falaWeb Speech API: Reconhecimento de falaWeb Animation APICanvas APIDesenhando retângulosConfigurando o desenhoImagens do fundoCriando gradientesDesenhando textoDesenhando formasTrabalhando com imagensAdicionando sombrasEditando pixelsTransformaçõesDesenhando com o mouseSalvando e restaurando o estado do canvasAnimação