JavaScript: linguagem e diagnóstico de aplicações
Aprende JavaScript com valores, objetos, módulos, promises e integração no navegador. Pratica leitura de código e diagnóstico com perguntas e casos originais.
Módulos e aulas
Abre uma aula para começar. Podes seguir a ordem ou voltar a qualquer conceito.
Valores, conversões e contratos numéricos
Distingue tipo, conversão e validade; preserva zero, identidade textual e limites numéricos nas fronteiras da aplicação.
45 minVariáveis, funções e closures
Analisa variáveis capturadas, parâmetros e receivers para que callbacks posteriores observem o estado previsto.
50 minObjetos, identidade e limites das propriedades
Analisa identidade, propriedades próprias, cópias e limites de mutação para conservar contratos entre objetos.
50 minArrays, coleções e iteração
Escolhe regras de iteração, identidade e ordenação que preservem dados, posições e resultados em coleções.
50 minErros, validação e contratos de falha
Distingue erros de sintaxe, esquema e operação; preserva contexto e evita publicar alterações parciais após uma rejeição.
50 minJSON, texto e contratos de tempo
Preserva identidade e significado ao atravessar JSON, texto Unicode e datas com offsets explícitos.
50 minPromises, async e propagação de erros
Relaciona promises, dependências e resultados; identifica trabalho que escapa à cadeia e distingue prazos de cancelamento.
55 minEventos, HTTP e cancelamento no navegador
Liga eventos e respostas HTTP a contratos de dados e de interface; controla resultados antigos e interpreta o alcance do cancelamento.
55 minMódulos e limites do ambiente de execução
Interpreta imports e exports como contratos entre módulos; distingue bindings vivos, snapshots e regras de carregamento do ambiente.
50 minEstado, ordem e diagnóstico de integração
Integra contratos de dados, cópias e ordem assíncrona para diagnosticar resultados incorretos e preparar alterações locais sem publicação parcial.
60 minObjetivos e percurso
Aprende JavaScript com valores, objetos, módulos, promises e integração no navegador. Pratica leitura de código e diagnóstico com perguntas e casos originais.
Para quem
Quem aprende JavaScript e equipas de desenvolvimento ou suporte que precisam de interpretar código e justificar decisões de integração.
Pré-requisitos
Noções básicas de variáveis, condições e funções. As aulas explicam os conceitos usados; não é necessário instalar ferramentas ou executar código para responder às avaliações.
O que vais aprender
- Distinguir conversões, igualdade, referências e snapshots.
- Validar dados e interpretar erros, texto e instantes com contratos explícitos.
- Seguir promises, cancelamento e ordem de publicação de resultados.
- Diagnosticar módulos e fronteiras entre a linguagem e o ambiente.
O que está disponível
10 aulas · 100 perguntas regulares · 20 casos
Avaliação final interna: 40 exercícios em 90 minutos. Simulados completos ainda indisponíveis.
As avaliações e os simulados reutilizam exercícios do percurso. Não atribuem certificações nem garantem aprovação num exame externo.
Âmbito, revisão e limitações
Dez aulas com 100 perguntas regulares e 20 casos originais. Aprende a interpretar valores, objetos, coleções, erros, JSON, tempo, promises e módulos, ligando contratos de dados à publicação de resultados no navegador. Todas as avaliações usam escolha única ou múltipla, com excertos e cenários, sem execução de código. A avaliação final reutiliza 40 itens do percurso em 90 minutos. A linguagem tem como referência ECMAScript 2026, 17.ª edição; DOM, eventos e fetch são identificados como APIs do navegador. TypeScript, React e Angular têm percursos separados planeados.
Avaliação interna de 40 perguntas em 90 minutos, reutilizadas do percurso, com escolha única ou múltipla e sem execução de código. Não é um exame oficial nem atribui certificação externa.
Formação e avaliação independentes, com perguntas e cenários originais. Sem afiliação, autorização, patrocínio ou aprovação da Ecma International, Oracle ou Mozilla e sem atribuição de certificação oficial. As designações tecnológicas são usadas para identificar os conteúdos; todas as marcas pertencem aos respetivos titulares.
Referências e versão
Consulta as fontes, a versão do conteúdo e os limites deste percurso.
Versão deste percurso
ECMAScript 2026 (17th edition); browser APIs identified separately
Conteúdo revisto em 13/10/2026
Fontes de aprendizagem
- ECMA-262: ECMAScript 2026, 17th editionConsultado em 13/10/2026
- Grammar and typesConsultado em 13/10/2026
- ToBooleanConsultado em 13/10/2026
- ToNumber and string numeric grammarConsultado em 13/10/2026
- IsStrictlyEqualConsultado em 13/10/2026
Ver mais 71 referências
- SameValueConsultado em 13/10/2026
- Number.isSafeIntegerConsultado em 13/10/2026
- Number.isNaNConsultado em 13/10/2026
- Number.isFiniteConsultado em 13/10/2026
- parseIntConsultado em 13/10/2026
- ApplyStringOrNumericBinaryOperatorConsultado em 13/10/2026
- CreatePerIterationEnvironmentConsultado em 13/10/2026
- Function.prototype.bindConsultado em 13/10/2026
- Equality comparisons and samenessConsultado em 13/10/2026
- Nullish coalescing operatorConsultado em 13/10/2026
- ClosuresConsultado em 13/10/2026
- Default parametersConsultado em 13/10/2026
- Arrow function expressionsConsultado em 13/10/2026
- Functions: parameters and invocation contextConsultado em 13/10/2026
- Object.hasOwnConsultado em 13/10/2026
- CopyDataPropertiesConsultado em 13/10/2026
- SetIntegrityLevelConsultado em 13/10/2026
- Array.prototype.mapConsultado em 13/10/2026
- Array.prototype.reduceConsultado em 13/10/2026
- Array.prototype.includesConsultado em 13/10/2026
- Map.prototype.setConsultado em 13/10/2026
- Set.prototype.addConsultado em 13/10/2026
- Array.prototype.sort and comparison operationsConsultado em 13/10/2026
- Array.prototype.toSortedConsultado em 13/10/2026
- Array.prototype.fillConsultado em 13/10/2026
- Array.fromConsultado em 13/10/2026
- PrivateGetConsultado em 13/10/2026
- Array.prototype.indexOfConsultado em 13/10/2026
- CreateMapIteratorConsultado em 13/10/2026
- DestructuringConsultado em 13/10/2026
- Spread syntaxConsultado em 13/10/2026
- Optional chainingConsultado em 13/10/2026
- Object.freezeConsultado em 13/10/2026
- for...ofConsultado em 13/10/2026
- Array iterator nextConsultado em 13/10/2026
- JSON.parseConsultado em 13/10/2026
- JSON.stringifyConsultado em 13/10/2026
- Number.isIntegerConsultado em 13/10/2026
- String.prototype.normalizeConsultado em 13/10/2026
- Date.parseConsultado em 13/10/2026
- The try statementConsultado em 13/10/2026
- The throw statementConsultado em 13/10/2026
- InstallErrorCauseConsultado em 13/10/2026
- Error constructorConsultado em 13/10/2026
- Date.prototype.toISOStringConsultado em 13/10/2026
- Date.prototype.toJSONConsultado em 13/10/2026
- String exotic objectsConsultado em 13/10/2026
- String iteratorConsultado em 13/10/2026
- RegExpBuiltinExecConsultado em 13/10/2026
- Array.isArrayConsultado em 13/10/2026
- Promise.prototype.thenConsultado em 13/10/2026
- Promise.prototype.finallyConsultado em 13/10/2026
- Promise.allConsultado em 13/10/2026
- Promise.allSettledConsultado em 13/10/2026
- Promise.raceConsultado em 13/10/2026
- AwaitConsultado em 13/10/2026
- NewPromiseReactionJobConsultado em 13/10/2026
- Array.prototype.forEachConsultado em 13/10/2026
- Async functionsConsultado em 13/10/2026
- Using FetchConsultado em 13/10/2026
- Removing event listenersConsultado em 13/10/2026
- Preventing default event actionsConsultado em 13/10/2026
- Node textContentConsultado em 13/10/2026
- Event currentTargetConsultado em 13/10/2026
- CreateImportBindingConsultado em 13/10/2026
- Module environment GetBindingValueConsultado em 13/10/2026
- Module namespace SetConsultado em 13/10/2026
- EvaluateImportCallConsultado em 13/10/2026
- Module environment GetThisBindingConsultado em 13/10/2026
- JavaScript modulesConsultado em 13/10/2026
- Import declarations and resolutionConsultado em 13/10/2026
Preparação independente. Consulta os objetivos, o conteúdo disponível e os limites de cobertura antes de planear o estudo.
Formação e avaliação independentes, com perguntas e cenários originais. Sem afiliação, autorização, patrocínio ou aprovação da Ecma International, Oracle ou Mozilla e sem atribuição de certificação oficial. As designações tecnológicas são usadas para identificar os conteúdos; todas as marcas pertencem aos respetivos titulares.
Percurso independente, sem afiliação, patrocínio ou aprovação da Ecma International, Oracle ou Mozilla. As designações tecnológicas identificam o conteúdo; todas as marcas pertencem aos respetivos titulares.