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 bitExpressões condicionaisOperadores 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 objetosExtensão de Objetos. ProtótiposA função como objeto. Mé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 opcionalObjetos constantes: proibição de alterações no objetoClassesDefinição de classesCampos e métodos privadosCampos e métodos estáticosPropriedades e métodos de acessoHerançaArraysCriação de arrays e o objeto ArrayArrays e o operador spreadOperações com arraysHerança de arraysStrings e Expressões RegularesStrings, o objeto String e seus metodosTemplate 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 PredefinidosObjeto Date. Lidando com DatasExplorando operaçõ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 webObjeto Node: Navegando pelo DOMElementosCriando, adicionando, substituindo e removendo elementosGerenciando atributos de elementosAlterando o estilo de elementosCriando seu próprio elemento HTMLEventosIntrodução ao tratamento de 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áriosFormulários e seus elementosBotõesCampos de textoCaixas de seleção e botões de opçãoLista selectAPI de validação: validando elementos de formulárioGerenciando a validação 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 APICriando, abrindo e excluindo um banco de dadosGerenciando objetos de armazenamentoExecutando consultasAdicionando registros ao armazenamentoObtendo registros do armazenamentoAtualizando registros no armazenamentoObtendo a quantidade de registros no armazenamentoRemovendo registros do armazenamentoCursoresProgramaçã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